1. 程式人生 > >QT 多視窗顯示 視窗之間的切換

QT 多視窗顯示 視窗之間的切換

需要新增一個ui檔案,右鍵點選介面檔案-----新增新檔案,選擇QT下的QT designer from 選項。 會有三類的介面檔案格式,mainwindow、 widget 和dialog 這三類介面檔案格式, 

 每一類的介面需要繼承的是對應的類, 比如  mainwindow  需要繼承 QMainWindow類, widget 需要繼承 QWidget類, dialog需要繼承Qdialog類, 然後子定義一個類,類的格式可以和主介面的類一樣, 注意繼承的類, 然後在佈置控制元件的介面改變物件名和自定義的類名一樣。

選擇的是mainwindow 格式的。

.h檔案

#ifndefMYMAINWINDOW_H
#defineMYMAINWINDOW_H
#include<QMainWindow>
namespaceUi{
classmyMainWindow;
}
classmyMainWindow:publicQMainWindow
{
Q_OBJECT
public:
explicitmyMainWindow(QWidget*parent=0);
~myMainWindow();
private:
Ui::myMainWindow*ui;
};

.cpp檔案

#include"mymainwindow.h"
#include"ui_myMainWindow.h"      // 注意這裡包含的標頭檔案是自定義的類名。不要會找不到預設的建構函式。
myMainWindow::myMainWindow(QWidget*parent):
QMainWindow(parent),
ui(newUi::myMainWindow)
{
ui->setupUi(this);
}
myMainWindow::~myMainWindow()
{
deleteui;
}

然後可以利用一個槽函式,將介面顯示出來   這裡需要全域性指標,不然在棧上會出問題。

voidMainWindow::on_pushButton_clicked()
{
this->hide();    //隱藏當前介面
f=newmyMainWindow;
f->show();      //顯示介面
}