2011-08-17 57 views
4

我有Qt SDK和Visual Studio Qt插件在VS2008中工作。我使用主窗口类MainWindow创建了Qt UI项目。双击mainwindow.ui打开Qt Designer。然后我将按钮添加到窗口,并将其称为pushButton。在Signals-Slots模式中,我设法将按钮的点击信号与MainWindow ButtonClicked插槽连接起来。信号/插槽编辑器如下所示:在Qt项目中添加按钮点击处理程序,Visual Studio

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

它的工作原理,但我不知道这是否是这样做正确的方式。插槽声明和实施应该手动添加,或者我缺少一些东西?

回答

4

如果您使用信号/插槽编辑器,则必须手动添加这些代码。如果您双击设计器的按钮,旧的Qt插件会自动添加这些内容。现在Qt Designer是一个独立的应用程序。双击是不可能的。您可以使用automatic connections。通过自动连接,您不需要将信号连接到插槽。自动调用具有特殊命名约定的函数。像on_okButton_clicked

相关问题