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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...

發(fā)布時間:2023/12/3 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在主窗口中放置多個控件,最好的方法是使用布局。控件的布局是學習PyQt路上比較關鍵也也是比較難理解的部分,趕快跟著木辛老師一起去看看吧。
請點擊右上角“關注”按鈕關注我們喲:跟著木辛老師學習Python編程知識,變身快樂的編程達人吧~

同學們好!

在之前的課程里,傳送門:《木辛老師的編程課堂:Python和Qt第2講之QtDesigner的使用(二)》

我們嘗試將一個按鈕放置到了主窗口中,如果需要放置更多的控件,則可以從左側(cè)的工具箱中拖拽更多的控件到主窗口上。

不過,控件過多之后,管理是比較棘手的。Qt Designer提供了布局的管理方式,方便管理多個控件的布局情況。

布局方式

Qt Designer提供了4中窗口布局方式

  • Vertical Layout(垂直布局)
  • Horizontal Layout(水平布局)
  • Grid Layout(柵格布局)
  • Form Layout(表單布局)
  • 他們位于Qt Designer主窗口左側(cè)區(qū)域的工具箱里的Layouts(布局)欄中。

    查看工具箱的布局欄

    垂直布局:控件默認按照從上到下的順序進行縱向添加

    水平布局:控件默認按照從左到右的順序進行橫向添加

    柵格布局:將窗口控件放入一個網(wǎng)格之中,然后將他們合理的劃分成若干行(row)和列(column),并把其其中的每個窗口控件放置在合適的單元(cell)中,這里的單元即是由行和列劃分出來的控件。

    表單布局:控件以兩列的形式布局在表單中,其中左列包含標簽,右列包含輸入控件

    在Qt Designer中,進行布局有兩種方式:一是通過布局管理器進行布局;二是通過容器控件進行布局。

    利用布局管理器布局

    咱們做個例子試試吧

    打開Qt Designer(大家還記得如何打開Qt Designer工具嗎?傳送門:《木辛老師的編程課堂:Python和Qt第2講之QtDesigner的使用(一)》)。

    新建一個主窗口

    新建主窗口

    然后將一個輸入文本框和一個按鈕拖拽都主窗口上

    拖拽控件到主窗口

    選中這兩個控件之后,點擊鼠標右鍵

    修改水平布局

    在“布局”菜單中選擇“水平布局”;

    Qt Designer會自動將兩個控件水平對齊

    水平布局效果

    就如上圖所示。

    這樣,我們通過Qt Designer簡單的拖拽和選擇,就完成了一個水平方向布局的美觀的控件組合了!

    我們保存一下這個.ui文件。

    最后通過,PyCharm的插件將這個.ui文件轉(zhuǎn)換成.py文件。

    ui文件轉(zhuǎn)py

    通過上方的源代碼,我們可以看到:

    我們定義的輸入文本框和按鈕,已經(jīng)被放入了一個QHBoxLayout的水平布局的widget里了。

    這樣,兩個控件就會根據(jù)實際情況,自動水平對齊。

    重點指出:QPushButton和QLineEdit兩個空間在實例化的時候,指定了QWidget作為其父控件,布局對象QHBoxLayout指定的父控件也是QWidget。

    咱們再回到Qt Designer,看一下控件和窗口之間的層次關系哈

    對象窗口

    可以看到,與轉(zhuǎn)換后的Python代碼一樣,QPushButton和QLineEdit也是歸屬到widget中的;通過這個對象查看窗口,我們也可以方便地看出窗口 —> 布局—> 控件的之間的層級關系。窗口一般作為頂層顯示,然后將控件按照我們的布局方式進行排列。

    利用容器進行布局

    另外一個管理布局的方式,是通過容器的進行布局的管理。

    所謂容器控件,就是指能夠容納子容器的控件;使用容器控件,就是將容器控件中的控件歸為一類。當然了,使用容器控件也可以對它的子控件進行布局,只不過呢,沒有布局管理器常用。

    我們還用剛才的例子,將主窗口中的控件全都刪除。

    然后,在左側(cè)的容器導航欄中拖入一個Frame控件,然后在其中放入一個QLabel,一個QLineEdit,一個QPushButton控件。

    選中Frame控件,并點擊鼠標右鍵,選擇“布局” —> “水平布局”,就可以得到如下圖所示的效果了,是不是很簡單呀~

    容器布局

    之后,我們通過PyCharm的插件PyUIC工具將.ui文件轉(zhuǎn)換為.py文件,就可以直接調(diào)用使用了。

    咱們一起來看一下轉(zhuǎn)換后的文件的比較重要的地方吧????

    self.frame = QtWidgets.QFrame(self.centralwidget) self.frame.setGeometry(QtCore.QRect(150, 80, 378, 64)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame) self.horizontalLayout.setObjectName("horizontalLayout") self.label = QtWidgets.QLabel(self.frame)

    可以看到,咱們盡管使用了容器進行空間的布局,但是本質(zhì)上還是通過QHBoxLayout 調(diào)用了布局管理器進行的。

    經(jīng)過如上的操作,我們已經(jīng)初步的了解了如何通過Qt Designer工具進行布局設計,并學到了Qt Designer提供的4中布局管理方式;

    咱們通過實例,練習了其中的水平布局,其他的布局方式請同學們自己嘗試一下吧,如果有任何問題歡迎隨時給木辛老師發(fā)送私信喲!

    好了,今天的課程就到這里吧,請持續(xù)關注木辛老師的編程課喲,后續(xù)更多精彩陸續(xù)到來!

    快樂編程,快樂成長!

    總結

    以上是生活随笔為你收集整理的myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。