QT 多個窗體切換(一)

2021-10-02 19:47:58 字數 3082 閱讀 5563

(1)widget_1主窗體轉至widget_2附窗體

1、建立窗體widget_1,並新建qt介面窗體widget_2,介面中加入轉換窗體widget_2的按鈕,建立widget_1的槽連線

2、窗體widget_1.**件中加入窗體widget_2.h的標頭檔案,widget_1標頭檔案中建立widget_2類的指標,並在widget_1中進行例項化,

3、槽函式中顯示窗體widget_2,隱藏窗體widget_2

(2)widget_2附窗體轉至widget_1主窗體

1、widget_2附窗體中建立按鈕,建立按鈕並連線槽函式,槽函式中傳送訊號

2、widget_1主窗體中接收訊號,並對訊號進行connect連線,槽函式顯示widget_1主窗體,並對widget_2附窗體進行隱藏

快捷鍵介紹

主窗體可以建立顯示其他窗體,只需要在主窗體標頭檔案中新增其他介面的標頭檔案,為進行類函式建立提供鏈路,附窗體打算重新顯示主窗體可以通過傳送訊號,主窗體建立槽,處理附窗體的訊號

(1)介面gif檔案動態顯示

qmovie *mylabelmovie = new qmovie(

"../widgetchange3_1/picture/pic_2.gif");

mylabelmovie-

>start();

ui->label_oneform-

>setmovie(mylabelmovie)

;

(2)新建窗體二

窗體1:widget.cpp

#include "widget.h"

#include "ui_widget.h"

#include

#include

widget:

:widget(qwidget *parent)

: qwidget(parent)

, ui(new ui:

:widget)

widget:

:~widget(

)void widget:

:init(

)void widget:

:onprogresstotwoform(

)void widget:

:onprogresstwotoone(qstring str

)

widget.h

#ifndef widget_h

#define widget_h

#include "twoform.h"

#include

namespace ui

class

widget

: public qwidget

;#endif // widget_h

窗體2:twoform.cpp

#include "twoform.h"

#include "ui_twoform.h"

#include

#include

twoform:

:twoform(qwidget *parent)

: qwidget(parent)

, ui(new ui:

:twoform)

twoform:

:~twoform(

)void twoform:

:init(

)void twoform:

:onprogresstwotoone(

)void twoform:

:onprogressthreetotwo(

)void twoform:

:onprogresstwotothree(

)

twoform.h

#ifndef twoform_h

#define twoform_h

#include "threeform.h"

#include

namespace ui

class

twoform

: public qwidget

;#endif // twoform_h

窗體3:threeform.cpp

#include "threeform.h"

#include "ui_threeform.h"

threeform:

:threeform(qwidget *parent)

: qwidget(parent)

, ui(new ui:

:threeform)

threeform:

:~threeform(

)void threeform:

:init(

)void threeform:

:onprogresstime(

)void threeform:

:onprogressthreetotwo(

)

threeform.h

#ifndef threeform_h

#define threeform_h

#include

#include

namespace ui

class

threeform

: public qwidget

;#endif // threeform_h

ui介面圖

C 實現多個子窗體切換

1.設定mdi主選單的mdiwindowlistitem 顯示子視窗的選單tsmiwindow,這樣開啟的子窗體標題將自動顯示在window選單下 private void tsmiwindownext click object sender,eventargs e else private voi...

C 窗體切換 避免開啟多個執行緒

先說說這個多窗體的介面的解決的辦法 用到的方法很簡單,就是程式執行就建立乙個mainform,在這個mainform中設立乙個panel,同時設立幾個按鈕,按下每個按鈕都在這個panel中載入不同的窗體,這樣就解決了多窗體的切換。在panel的子窗體可以通過設定form的formborderstyl...

QT將窗體變為頂層窗體

在windows 上通過滑鼠雙擊某應用程式圖示,該應用程式往往會以頂層視窗的形式呈現在我們面前,但是對於乙個已經開啟的非頂層視窗,我們怎麼將其啟用為頂層視窗呢?要達到啟用,這個必須要滿足兩個條件 有通知啟用的人,這個人必須是另乙個應用程式 或同一應用程式的不同示例 他能傳送資訊給該窗體 該窗體能夠解...