QT學習筆記 應用程式視窗

2021-10-08 19:14:32 字數 3171 閱讀 3506

qmainwidown類視窗框架一般包含以下元件:

1、選單欄(qmenubar),乙個主視窗只能有乙個

2、工具欄(q*******)

,可以有多個

3、狀態列(qstatusbar),乙個主視窗只能有乙個

4、中心部件(central widget),乙個主視窗只能有乙個

5、dock部件(qdockwidget,鉚接部件)

1、建立選單欄
//    qmenubar *bar = menubar(); // 建立選單欄,只有乙個

qmenubar *bar = new qmenubar;

this->setmenubar(bar); //設定選單欄到視窗中

qmenu *filemenu = bar-

>

addmenu

("檔案");

qmenu *editmenu = bar-

>

addmenu

("編輯");

qmenu *viewmenu = bar-

>

addmenu

("檢視");

qmenu *gomenu = bar-

>

addmenu

("前往");

qmenu *bookmarkmenu = bar-

>

addmenu

("書籤");

qmenu *helpmenu = bar-

>

addmenu

("幫助"

);

//新增檔案選單欄新增選項

qaction *newaction = filemenu-

>

addaction

("新建");

qaction *openfileaction = filemenu-

>

addaction

("開啟");

//新增分割線

filemenu-

>

addseparator()

;qaction *closefileaction = filemenu-

>

addaction

("關閉"

)

//建立工具欄

q******* *tbar =

newq*******

(this);

//將工具欄新增到視窗中,預設新增到左邊

add*******

(qt::left*******area, tbar)

;//設定允許左邊和右邊停靠

tbar-

>

setallowedareas

(qt::left*******area | qt::right*******area)

;

//向工具欄新增選項

qaction *content******* = tbar-

>

addaction

("內容");

//新增分割線

tbar-

>

addseparator()

;qaction *index******* = tbar-

>

addaction

("索引");

tbar-

>

addseparator()

;qaction *search******* = tbar-

>

addaction

("查詢"

);

//建立狀態列

qstatusbar *statbar =

newqstatusbar

(this);

//將狀態列放達到視窗中

setstatusbar

(statbar)

;

qlabel *label1 = new qlabel("字數", this);

//將標籤放入狀態列

statbar->addwidget(label1);

qlabel *label2 = new qlabel("頁數", this);

statbar->addpermanentwidget(label2);

視窗可以拖動到任意位置,甚至可以離開主視窗

//鉚接部件(浮動視窗) 可以有很多個

qdockwidget *dock =

newqdockwidget

("鉚接部件"

,this);

this

->

adddockwidget

(qt::bottomdockwidgetarea, dock)

;

//設定核心部件,只能有乙個,這裡設定為一邊可編輯的text

qt應用程式主視窗

qmainwindow視窗可以包含選單欄 工具欄 狀態列 標題欄等,是最常見的視窗形式,可以作為gui程式的主視窗 1 設定選單 setmenubar方法 標頭檔案 qmenubar 2 設定工具欄 add 方法 標頭檔案 q 3 設定可停靠部件 adddockwidget qmainwindow的...

Qt 應用程式固定視窗大小

應用程式框架介紹 應用程式包含按鈕工具欄和背景顯示視窗 中裝載背景的視窗,使用的是qlabel物件 實現應用程式啟動後視窗大小固定不變並且尺寸剛好包含和工具欄。使用 setsizepolicy qsizepolicy fixed,qsizepolicy fixed setminimumsize qs...

Qt 發布應用程式

qt 官方開發環境使用的動態鏈結庫方式,在發布生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 qt 官方開發環境裡自帶了乙個工具 windeployqt.exe。以官方 qt 5.8.0 mingw 開發環境為例,從開始選單...