1. 程式人生 > >Qt技巧:多視窗互相呼叫

Qt技巧:多視窗互相呼叫

在使用Qt Creator設計ui時,有時需要多個ui間互相呼叫。這裡我會用一個簡單例子,介紹如何用一個視窗呼叫另一個視窗。

在建立Qt Widget Application時,只對預設的ui例項化了,當需要在當前ui呼叫其他ui時,需要在標頭檔案中對要呼叫的ui進行例項化,然後才能呼叫。下面是一個例子,我們要實現的是在basedialog中點選“標準輸入對話方塊”按鈕,呼叫inputdialog。


首先在basedialog.h中包含inputdialog的標頭檔案:

#include "inputdialog.h"
並對類inputDialog例項化:

basedialog.h:

private:
    Ui::basedialog *ui;
    inputDialog *inputdlg;
basedialog.cpp:
basedialog::basedialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::basedialog)
{
    ui->setupUi(this);
    inputdlg = new inputDialog;
}

完成例項化之後,對按鈕右鍵新增訊號槽即可實現點選呼叫了。
void basedialog::on_inputButton_clicked()
{
    inputdlg->show();
}
原始碼下載: