QT布局 設定的一些基本細節

2021-08-07 09:21:39 字數 2291 閱讀 2737

1.外邊距margin

setmargin可以設定左、上、右、下的外邊距,設定之後,他們的外邊距是相同的。 

setcontentsmargins與其功能相同,但是可以將左、上、右、下的外邊距設定為不同的值。

2.伸縮空間qspaceritem--addstretch()

1).居右

在第乙個控制項之前新增伸縮,這樣所有的控制項就會居右顯示。

qhboxlayout *phlayout = newphlayout;

phlayout->addstretch();//新增伸縮

phlayout->addwidget(pbutton1);

phlayout->addwidget(pbutton2);

2).居左

在最後乙個控制項之後新增伸縮,這樣所有的控制項就會居左顯示。

qhboxlayout*phlayout=new qhboxlayout();

phlayout->addwidget(pbutton1);

phlayout->addwidget(pbutton2);

phlayout->addstretch();// 新增伸縮

3).居中

在第乙個控制項之前、最後乙個控制項之後新增伸縮,這樣所有的控制項就會居中顯示。

qhboxlayout*phlayout=new qhboxlayout();

phlayout->addstretch();// 第乙個控制項之前新增伸縮

phlayout->addwidget(pbutton1);

phlayout->addwidget(pbutton2);

phlayout->addstretch();// 最後乙個控制項之後新增伸縮

4).均分

在每乙個控制項之間都新增伸縮,這樣所有的控制項之間的間距都會相同。

3.addwidget

addwidget(qwidget *, int row, int column, qt::alignment = 0)

addwidget(qwidget *, int row, int column, int rowspan, int columnspan, qt::alignment = 0)

預設的,我們新增控制項至水平布局中,預設都是垂直方向居中對齊的

這個單元將從row和column開始,擴充套件到rowspan和columnspan指定的倍數的行和列。如果rowspan或columnspan的值為-1,則視窗部件將擴充套件到布局的底部或者右邊邊緣處,qt::alignment為對齊方式。

qhboxlayout *phlayout = new qhboxlayout();

phlayout->addstretch();// 水平居左 垂直居上

phlayout->addwidget(pbutton1,0 , qt::alignleft| qt::aligntop);

phlayout->addwidget(pbutton2,0 , qt::alignleft| qt::aligntop);

phlayout->addwidget(pbutton3);// 水平居左 垂直居下

phlayout->addwidget(pbutton4,0 , qt::alignleft| qt::alignbottom);

phlayout->addwidget(pbutton5,0 , qt::alignleft| qt::alignbottom);

4).設定間距

setspacing()可以同時設定水平、垂直間距,設定之後,水平、垂直間距相同。 

sethorizontalspacing()、setverticalspacing()可以分別設定水平間距、垂直間距。

5).設定行,列大小

Qt中connect的一些使用細節

在今天寫 中,遇到了一些關於connect的疑問。1.connect的連線方式有哪幾種?connect sender signal signal recver slot slot connect sender signal signal recever signal signal 可以通過訊號傳送給...

C 的一些細節

1.c 中,將負數賦值給unsigned是完全合法的。例如,將 1賦值給unsigned char,那麼結果是255.2.c 中,double的精度和計算速度都要超過float,long double則需要承擔額外的執行代價。3.std ou t hi d endl 等價於std out hi 4....

迴圈的一些細節

1 迴圈執行次數相同,大迴圈放在外面還是小迴圈放在外層效率高呢?int end1 10 int end2 100 int end3 1000000 long starttime system.nanotime 開始時間 for int i 1 i end3 i long endtime system...