python GUI庫圖形界面開發(fā)之PyQt5動態(tài)(可拖動控件大小)布局控件QSplitter詳細(xì)使用方法與實(shí)例
PyQt5動態(tài)(可拖動控件大小)布局控件QSplitter簡介
PyQt還提供了特殊的布局管理器QSplitter。它可以動態(tài)地拖動子控件之間的邊界,算是一個(gè)動態(tài)的布局管理器,QSplitter允許用戶拖動子控件的邊界控制子控件的大小,并提供一個(gè)處理拖曳子控件的控制器
在QSplitter對象中各子控件默認(rèn)是橫向布局的,可以使用Qt,Vertical進(jìn)行垂直布局
QSplitter類中常用的方法
方法 | 描述 |
---|---|
addWidget() | 將小控件添加到QSplitter管理器的布局中 |
indexOf() | 返回小控件在QSplitter管理器中的索引 |
insertWidget() | 根據(jù)指定的索引將一個(gè)控件插入到QSplitter管理器中 |
setOrientation() | 設(shè)置布局的方向 |
Qt.Horizontal:水平方向 | |
Qt.Vertical:垂直方向 | |
setSizes() | 設(shè)置控件的初始大小 |
count() | 返回小控件在QSplitter管理器中的數(shù)量 |
QSplitter的使用實(shí)例
import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * class SplitterExample(QWidget): def __init__(self): super(SplitterExample, self).__init__() self.initUI() def initUI( self ): #設(shè)置全局布局為水平布局,設(shè)置標(biāo)題與初始大小窗口 hbox=QHBoxLayout() self.setWindowTitle("QSplitter例子") self.setGeometry(300,300,300,200) #實(shí)例化QFrame控件 topLeft=QFrame() topLeft.setFrameShape(QFrame.StyledPanel) bottom=QFrame() bottom.setFrameShape(QFrame.StyledPanel) #實(shí)例化QSplitter控件并設(shè)置初始為水平方向布局 splitter1=QSplitter(Qt.Horizontal) textedit=QTextEdit() #向Splitter內(nèi)添加控件。并設(shè)置游戲的初始大小 splitter1.addWidget(topLeft) splitter1.addWidget(textedit) splitter1.setSizes([100,200]) #實(shí)例化Splitter管理器,添加控件到其中,設(shè)置垂直方向 splitter2=QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom) #設(shè)置窗體全局布局以及子布局的添加 hbox.addWidget(splitter2) self.setLayout(hbox) if __name__ == '__main__': app=QApplication(sys.argv) demo=SplitterExample() demo.show() sys.exit(app.exec_())
運(yùn)行效果如下
代碼分析
在這個(gè)例子中,顯示了使用兩個(gè)QSplitter組織的兩個(gè)QFame控件,其中第一個(gè)QSplitter對象包含一個(gè)QFrame對象和QTextEdit對象,并按照水平方向進(jìn)行布局
splitter1=QSplitter(Qt.Horizontal) textedit=QTextEdit() #向Splitter內(nèi)添加控件。并設(shè)置游戲的初始大小 splitter1.addWidget(topLeft) splitter1.addWidget(textedit) splitter1.setSizes([100,200])
第二個(gè)QSplitter對象添加第一個(gè)QSplitter對象和一個(gè)QFrame對象,并按照垂直布局
splitter2=QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom)
本文主要介紹了PyQt5動態(tài)(可拖動控件大小)布局控件QSplitter詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5布局控件的使用知識請查看下面的相關(guān)鏈接
相關(guān)文章
一文詳解如何實(shí)現(xiàn)PyTorch模型編譯
這篇文章主要為大家介紹了如何實(shí)現(xiàn)PyTorch?模型編譯詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04使用python實(shí)現(xiàn)數(shù)據(jù)篩查
一般數(shù)據(jù)篩查可以通過Python中的pandas庫來實(shí)現(xiàn),下面小編就來為大家介紹一下Python如何利用pandas實(shí)現(xiàn)數(shù)據(jù)篩查,感興趣的小伙伴可以一起學(xué)習(xí)一下2023-10-10Python3實(shí)現(xiàn)的畫圖及加載圖片動畫效果示例
這篇文章主要介紹了Python3實(shí)現(xiàn)的畫圖及加載圖片動畫效果,結(jié)合實(shí)例形式分析了Python3基于tkinter庫進(jìn)行圖片加載動畫效果的相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2018-01-01Python腳本實(shí)現(xiàn)音頻和視頻格式轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Python如何通過腳本實(shí)現(xiàn)音頻和視頻格式轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03教你如何把Python CSV 合并到多個(gè)sheet工作表
今天我們要實(shí)現(xiàn)將多個(gè)CSV文件,合并到一個(gè)Excel文件中的,多個(gè)sheet工作表,網(wǎng)上大多方法都是將csv直接合并在一起,也不分別創(chuàng)建sheet表。接下來通過本文給大家詳細(xì)介紹下,需要的朋友參考下吧2021-11-11基于Python實(shí)現(xiàn)身份證信息識別功能
身份證是用于證明個(gè)人身份和身份信息的官方證件,在現(xiàn)代社會中,身份證被廣泛應(yīng)用于各種場景,如就業(yè)、教育、醫(yī)療、金融等,它包含了個(gè)人的基本信息,本文給大家介紹了如何基于Python實(shí)現(xiàn)身份證信息識別功能,感興趣的朋友可以參考下2024-01-01