2011-08-17 90 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

相關問題