我想在我的应用程序中实现一个退出按钮,它具有以下设置: 我有一个主要功能,如下所示:
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
我还有一个由QT Creator IDE生成的mainWindow函数。
我使用Qt Designer设计GUI,当我想要一个按钮在点击时做某事时,我使用这样的函数:
void on_selection_clicked();
我希望现在已经充分描述了设置 现在我的问题:我想实现一个按钮,当单击它时,终止窗口和应用程序。我首先尝试在这样的函数中实现它:
void on_exit_clicked();
但我不知道到这里。
然后我通过QObject::connect
听到了一个问题,但我有两个问题:
1.)我应该把它放在哪里?在主函数?
2.)我可以简单地通过QT Designer中给出的对象名来访问对象吗?
答案 0 :(得分:1)
不,你应该在MainWindow的构造函数中连接它
connect(ui->exit,SIGNAL(clicked()),QCoreApplication::instance(), SLOT(exit()));
QCoreApplication::instance()->exit()
将退出该应用
是的,通过MainWindow中的ui字段查看上面的代码
答案 1 :(得分:1)
我不知道您使用的是哪个Qt版本,因此我假设Qt 5.0(信号/插槽机制已更新)。
QWidget有插槽QWidget :: close()。
QPushButton提供信号QPushButton :: clicked(bool checked = false)
因此,您可以在MainWindow的构造函数中连接它们:
QObject::connect(your_button, &QPushButton::clicked, this, &QWidget::close());
另外,我建议查看从* .ui文件生成的文件 - 这样您就可以更深入地了解正在发生的事情。