QSplitter使用戶(hù)可以通過(guò)拖動(dòng)子面板的邊界控制子面板的大小。在我們的例子中,我們使用了兩個(gè)QSplitter 對(duì)三個(gè)QFrame 控件進(jìn)行了分隔。
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 這個(gè)例子說(shuō)明如何使用QSplitter部件。 作者:我的世界你曾經(jīng)來(lái)過(guò) 博客:http://blog.csdn.net/weiaitaowang 最后編輯:2016年8月4日 """ import sys from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QFrame, QSplitter) from PyQt5.QtCore import Qt class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): hbox = QHBoxLayout(self) topleft = QFrame(self) topleft.setFrameShape(QFrame.StyledPanel) topright = QFrame(self) topright.setFrameShape(QFrame.StyledPanel) bottom = QFrame(self) bottom.setFrameShape(QFrame.StyledPanel) splitter1 = QSplitter(Qt.Horizontal) splitter1.addWidget(topleft) splitter1.addWidget(topright) splitter2 = QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom) hbox.addWidget(splitter2) self.setLayout(hbox) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('窗口分隔') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
在我們的例子中,我們使用了三個(gè)框架部件和兩個(gè)QSplitter 。請(qǐng)注意,某些主題的QSplitter 邊界可能不可見(jiàn)。
topleft = QFrame(self)
topleft.setFrameShape(QFrame.StyledPanel)
我們?yōu)镼Frame 控件添加StyledPanel樣式能使QFrame 控件之間的界限更加明顯。
splitter1 = QSplitter(Qt.Horizontal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)
我們創(chuàng)建了一個(gè)QSplitter控件,并添加兩個(gè)QFrame 進(jìn)去。
splitter2 = QSplitter(Qt.Vertical)
splitter2.addWidget(splitter1)
We can also add a splitter to another splitter widget. 我們還可以添加一個(gè)QSplitter到另一個(gè)QSplitter控件中。
程序執(zhí)行后
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com