gpt4 book ai didi

qt - 调用QApplication的quit()方法

转载 作者:行者123 更新时间:2023-12-04 13:27:24 25 4
gpt4 key购买 nike

如果我尝试直接使用quit()方法,它会完美编译,
但是在运行期间会出现错误消息“Object::connect:No such slot myClass::quit()”。
所以要避免这种情况,有什么办法吗?
通过使用方法quitPicture()(定义为slot),应用程序可以正常工作。
这是唯一的解决方案吗?

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();
}

最佳答案

该按钮的clicked信号可以直接连接到应用程序的quit插槽:

QObject::connect(quitButton, SIGNAL(clicked()),
QApplication::instance(), SLOT(quit()));

关于qt - 调用QApplication的quit()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15040988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com