0

我想在我的应用程序中实现一个退出按钮,它具有以下设置:我有一个如下所示的主函数:

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

但我不知道到这里。
然后我听说了一个方法 via QObject::connect,但我有两个问题:
1.)我应该把这个放在哪里?在主函数中?
2.) 我可以简单地通过 QT Designer 中给出的对象名称来访问该对象吗?

4

2 回答 2

1
  1. 不,您应该在 MainWindow 的构造函数中连接它

    connect(ui->exit,SIGNAL(clicked()),QCoreApplication::instance(), SLOT(exit()));
    

    QCoreApplication::instance()->exit()将退出应用程序

  2. 是的,通过 MainWindow 中的 ui 字段查看上面的代码

于 2013-09-18T14:25:54.010 回答
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 文件生成的文件 - 这样您就可以更深入地了解正在发生的事情。

于 2013-09-18T14:26:04.727 回答