我在VS2008中使用Qt SDK和Visual Studio Qt加载项 . 我用主窗口类MainWindow创建了Qt UI项目 . 双击mainwindow.ui打开Qt Designer . 然后我在窗口添加了按钮,并将其称为pushButton . 在Signals-Slots模式下,我设法将按钮的点击信号与MainWindow ButtonClicked插槽连接 . 信号/插槽编辑器如下所示:
Sender pushButton
Signal clicked()
Receiver MainWindowClass
Slot ButtonClicked()
mainwindow.ui文件已更改,反映了这一新信息 . 但是,mainwindow.cpp和mainwindow.h保持不变 . 我期待看到我可以添加自己的代码的地方 . 所以,我手动添加了这段代码:
// mainwindow.h
...
protected slots:
void ButtonClicked();
// mainwindow.cpp
void MainWindow::ButtonClicked()
{
QMessageBox msgBox;
msgBox.setText("Clicked");
msgBox.exec();
}
它有效,但我想知道这是否是正确的方法 . 是否应该手动添加插槽声明和实现,或者我遗漏了什么?
1 回答
如果使用信号/插槽编辑器,则必须手动添加这些代码 . 如果您双击设计器中的按钮,旧Qt加载项会自动添加这些 . 现在Qt Designer是一个单独的应用程序 . 双击是不可能的 .
你也可以使用automatic connections . 通过自动连接,您无需使用插槽连接信号 . 具有特殊命名约定的函数,自动调用 . 喜欢
on_okButton_clicked
.