Qt QGroupBox綜合例項

2021-10-04 06:08:49 字數 2195 閱讀 5336

對於qgroupbox常用於作為乙個容器來包含其他控制項,因為在介面的控制項比較多的時候我們需要對其進行區域劃分,那麼qgroupbox就派上用場了,讓其包含子控制項做為乙個區域,其他的在利用其他容器或或者使用布局管理器來對整體的介面進行調整,這樣做的好處就是顯得介面非常的整潔,而不是雜亂無章。一般情況在qgroupbox中所包含的控制項有button、checkbox、spinbox、label等,但是其中包含多個spinbox的時候他們之間是互斥的,即同一時刻只能選擇乙個。本節主要實現的是結合qgroupbox和布局管理器來管理介面的控制項。

qgroupbox *createfirstexclusivegroup();    

qgroupbox *createsecondexclusivegroup();

qgroupbox *createnonexclusivegroup();

qgroupbox *createpushbuttongroup();

首先我們建立四個私有的成員函式,它們只要是現實四個qgroupbox的建立以及內部子控制項的布局。

qgroupbox *groupwidget::createfirstexclusivegroup()

我們建立乙個qgroupbox物件,使用setalignment()來調整標題的位置,預設情況下標題與qgroupbox的左側邊框對其,所以我們這裡不設定其標題的位置,那麼它也是顯示在左邊的。接下來在其內部建立三個radiobutton,他們之間是互斥的。

在建立qgrroupbox物件完成後我們設定其標題與右側邊框對其,同時使用checkbale屬性,即意味著將會使用checkbox來代替普通的label來顯示標題,接著講checked屬性設定為false,即其內部的的子控制項是disbale的。只有將標題欄中的checkbox選中之後其內部的部件變成able。

設定使用qgroupbox的flat屬性,即意味著只繪製上邊框,同時設定其標題位於上邊框的中心位置, 乙個checkbox有三種狀態:未選擇、部分選中、選中,要想使用這種checkbox可以通過settristate()來實現。當qgroupbox中只包含checkbox的時候它們之間不存在互斥關係。

此函式建立內部包含button的groupbox,我們可以設定button為可選中的狀態,然後設定該按鈕為選中。同時如果我們不想要按鈕的邊框的話我們可以使用setflat()來設定。可以給按鈕新增選單欄,我們都知道在建立選單欄的時候通常需要action。

qgridlayout *mainlayout = new qgridlayout(this);

mainlayout->addwidget(createfirstexclusivegroup(),0,0);

mainlayout->addwidget(createnonexclusivegroup(),0,1);

mainlayout->addwidget(createsecondexclusivegroup(),1,0);

mainlayout->addwidget(createpushbuttongroup(),1,1);

setlayout(mainlayout);

setwindowtitle(tr("groupbox"));

使用qgridlayout來對整體進行布局。其整體效果如下:

Qt QGroupBox樣式設定

1.整個控制項相關設定 qgroupbox border 1px solid rgb 53,153,252 margin top 2.5ex 2.控制項標題部分,subcontrol position 標題位置 left 標題距離左邊線的距離 3.標題前方指示符相關設定 個人認為就是前面核取方塊 q...

Web綜合例項

web綜合例項 要求 l 主站點 www.abc.com ip 位址為 192.168.2.100 任何人都可以訪問,主頁內容為 web 主目錄為 var www html l 市場部站點 mkt.abc.com ip 位址為192.168.2.100 實現 控制及只能允許 ip位址在 192.16...

八 例項綜合

在進行資料運算的時候,有時候會出現資料溢位現象,為了解決這一問題,可採用資料強制轉換的方法。include sbit addr3 p1 3 sbit enled p1 4 sbit key1 p2 4 sbit key2 p2 5 sbit key3 p2 6 sbit key4 p2 7 unsi...