QT 多視窗顯示 視窗之間的切換
阿新 • • 發佈:2019-01-29
需要新增一個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(); //顯示介面
}