Qt設計dialog視窗的最大化和控制項隨窗體的改變

2021-06-16 21:26:16 字數 957 閱讀 6896

1)最近在玩qt和vtk,在設計介面的時候用到了dialog,但是該介面預設情況下僅有「這是什麼」和「關閉」,而沒有「最大化」該視窗。所以需要進行對其ui進行修改,可以在載入該ui之後,在**中加入以下的**:

setwindowflags(qt::dialog | qt::windowmaximizebuttonhint);// 

便可以使得視窗有最大和最小化的按鈕!

2)但是在最大化過程中發現,原先設計的控制項並沒有隨著視窗的最大化而進行等比例地增大。所以需要進行一番的設定。

首先,選中控制項,右擊之後,彈出的快捷選單中包括:

horizontallayouts and vertical layouts,水平和垂直布局;

the grid layout ,網格布局;

splitter layouts,分割器布局;

the form layout,窗體布局。這些布置依照個人的實際需求進行!

對所有控制項進行布局後,然後,單擊選中主視窗(注意是單擊主視窗,先取消對所有控制項的選擇,只選中主視窗),右擊之,在彈出的快捷選單中選擇一種布局形式如「lay out vertically」,建立頂級布局管理器。關鍵是要建立頂級的布局管理器!如下圖,建立的前後情況對比。左圖為建立頂級布局管理器之前,右圖為建立頂級布局管理器之後。

這便完成了窗體控制項隨視窗的最大化而進行變化。網上有些資料所要設定

1、大小提示(size hint)和最小大小提示(minimum size hint)

2、大小策略(size policy)

3、伸縮因子(stretch factor)

4、大小約束(size constraint)

5、空白(margin)和間距(spacing)

但是在實際中,我並沒有設定這些引數。。。這可能需要再進行探索一下。

QT 分割視窗,並用dialog填充分割的子視窗

網上很多 qsplitter的例子都是分割完的子視窗帶乙個edit控制項,list控制項,可專案需要子視窗用已有dialog進行填充,並能自由切換,遇到最鬱悶的問題是填充完後自定義的dialog不能充滿整個分割子視窗,現記錄下解決方案 qsplitter mainsplitter qmainwind...

取消qt視窗最大最小化

setwindowflags windowflags qt windowminmaxbuttonshint setwindowflags windowflags qt windowclosebuttonhint qt windowclosebuttonhint其實是乙個值 0x00080000 這裡...

Qt的視窗設定

qt的視窗右上角的 隱藏 setwindowflags qt windowclosebuttonhint 別聽下面的各求所需 qt的視窗右上角的 隱藏 setwindowflags qt dialog qt windowclosebuttonhint 感覺我這個比較好,上面有時會有問題 qt的視窗右...