日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第六章 Qt布局管理器Layout

發布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第六章 Qt布局管理器Layout 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第六章 Qt布局管理器Layout

大家有沒有發現一個現象,我們放置一個組件,給組件最原始的定位是給出這個控件的坐標和寬高值,這樣Qt就知道這個組件的位置。當用戶改變窗口的大小,組件還靜靜地呆在原來的位置,這有時候顯然不是很科。所以Qt提供一種機制-布局,解決了這個問題。只要把組件放入某一種布局之中,當需要調整大小或位置的時候,Qt就知道該怎樣進行調整。

下面舉一個簡單例子:

1 #include <QApplication> 2 #include <QWidget> 3 #include <QSpinBox> 4 #include <QSlider> 5 #include <QHBoxLayout> 6 7 int main(int argc, char *argv[]) 8 { 9 QApplication a(argc, argv); 10 QWidget w = new QWidget; 11 w.setWindowTitle("Enter your age"); 12 13 QSpinBox *spinBox = new QSpinBox; 14 QSlider *slider = new QSlider(Qt::Horizontal); 15 spinBox->setRange(0, 130); 16 slider->setRange(0, 130); 17 18 QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int))); 19 QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); 20 21 spinBox->setValue(35); 22 23 QHBoxLayout *layout = new QHBoxLayout; 24 layout->addWidget(spinBox); 25 layout->addWidget(slider); 26 w.setLayout(layout); 27 28 w.show(); 29 30 return a.exec(); 31 }

編譯運行結果(直接改變窗體大小,看組件的變化):

Qt一共有5種主要的layout,分別是:

水平布局

垂直布局

使用分裂器水平布局

使用分裂器垂直布局

柵格布局

下面使用Qt Creator的designer對垂直布局進行舉例,其他布局的使用方法類似。

1.在左邊的器件欄里拖入三個PushButton和一個Vertical?Layout(垂直布局管理器)到中心面板。如下圖。

2.將這三個按鈕放入垂直布局管理器,效果如下。可以看到按鈕垂直方向排列,并且寬度可以改變,但高度沒有改變。

3.我們將布局管理器整體選中,按下上面工具欄的Break?Layout按鈕,便可取消布局管理器。(我們當然也可以先將按鈕移出,再按下Delete鍵將布局管理器刪除。)

4.下面我們改用分裂器部件(QSplitter)。

先將三個按鈕同時選中,再按下上面工具欄的Lay?Out?Vertically?in?Splitter(垂直分裂器)。

效果如下圖。可以看到按鈕的大小可以隨之改動。這也就是分裂器和布局管理器的分別。

5.其實布局管理器不但能控制器件的布局,還有個很重要的用途是,它能使器件的大小隨著窗口大小的改變而改變。

我們先在主窗口的中心拖入一個文本編輯器Text?Edit。

這時直接運行程序,效果如下。可以看到它的大小和位置不會隨著窗口改變。

下面我們選中主窗口部件,然后在空白處點擊鼠標右鍵,選擇Layout->Lay?Out?in?a?Grid,使整個主窗口的中心區處于網格布局管理器中。

?

可以看到,這時文本編輯器已經占據了整個主窗口的中心區。

?

運行一下程序,可以看到無論怎樣拉伸窗口,文本編輯框的大小都會隨之改變。

轉載于:https://www.cnblogs.com/heguoyuan/p/4279294.html

總結

以上是生活随笔為你收集整理的第六章 Qt布局管理器Layout的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。