nếu tôi cố gắng sử dụng phương thức quit() trực tiếp, nó được biên dịch hoàn hảo, tuy nhiên trong thời gian chạy có lỗi "Object :: connect: No myClass :: quit() . " để tránh điều này, có cách nào không? bằng cách sử dụng phương thức quitPicture() (được định nghĩa là vị trí) ứng dụng đang hoạt động tốt. là giải pháp duy nhất này?gọi phương thức quit() của QApplication
myClass::myClass(QWidget *parent)
: QWidget(parent)
{
QWidget *window = new QWidget;
window->setWindowTitle(QObject::tr("Class"));
QPushButton *quitButton = new QPushButton("&Quit");
// QObject::connect(quitButton, SIGNAL(clicked()), this, SLOT(quit())); //showing run time error
QObject::connect(quitButton, SIGNAL(clicked()), this, SLOT(quitPicture())); //working perfectly
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(this);
layout->addWidget(quitButton);
window->setLayout(layout);
window->show();
}
void myClass::quitPicture()
{
std::cout << "calling quitPicture" << std::endl;
QApplication::quit();
}
cảm ơn bạn rất nhiều. nó hoạt động :) – suma