我在VS2008中使用了Qt SDK和Visual Studio Qt加载项。我用主窗口类MainWindow创建了Qt UI项目。双击mainwindow.ui,打开Qt Designer。然后,我将按钮添加到窗口中,并将其命名为pushButton。在信号插槽模式下,我设法将按钮的单击信号与MainWindow ButtonClicked插槽连接。信号/插槽编辑器如下所示:

发件人按钮
信号已点击()
接收器MainWindowClass
广告位ButtonClicked()

mainwindow.ui文件已更改,反射(reflect)了此新信息。但是,mainwindow.cpp和mainwindow.h保持不变。我希望看到可以添加自己的代码的地方。因此,我手动添加了以下代码:

//mainwindow.h
...
protected 插槽:
void ButtonClicked();

//mainwindow.cpp
无效MainWindow::ButtonClicked()
{
QMessageBox msgBox;
msgBox.setText(“Clicked”);
msgBox.exec();
}

它有效,但是我想知道这是否是正确的方法。是应该手动添加插槽声明和实现,还是缺少某些内容?

最佳答案

如果使用信号/插槽编辑器,则必须手动添加这些代码。如果您双击设计器中的按钮,则旧的Qt加载项会自动添加这些项。现在,Qt Designer是一个单独的应用程序。不能双击。

您也可以使用automatic connections。使用自动连接,您无需将信号连接到插槽。具有特殊命名约定的函数会自动调用。像on_okButton_clicked一样。

关于c++ - 在Visual Studio Qt项目中添加按钮单击处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7091748/

10-13 08:43