如何在Qt Creator中为按钮定义OnClick事件处理程序?

Mey*_*sam 22 qt onclick button event-handling qt-creator

在visual studio中,在设计Windows窗体时,我可以通过双击为按钮轻松添加OnClick事件处理程序.是否有可能在QtCreator中做同样的事情?我该如何处理按钮的Click事件?从头开始手动编写所需的代码是唯一的选择吗?

小智 45

在设计师中

  1. 将"按钮"添加到表单中
  2. 右键单击"按钮"
  3. 选择"转到插槽..."
  4. 选择"clicked()"信号
  5. DONE

这些术语与.NET不同,所以在本例中我们讨论的是信号和槽,而单击QPushButton时发出的信号则被调用clicked()而不是OnClick.

建议阅读有关信号和插槽Qt文档.


Muj*_*que 5

在头文件中:

private slots:
    void exit_app();
Run Code Online (Sandbox Code Playgroud)

在 xyz.cpp 中:

connect(ui.button_name, SIGNAL(clicked()), this, SLOT(exit_app()));
Run Code Online (Sandbox Code Playgroud)

定义 SLOT 调用的 exit_app() 函数。

void QtTest2::exit_app()
{
    QApplication::exit();
}
Run Code Online (Sandbox Code Playgroud)