【轉載】Pyqt QSplitter分割窗口

轉載來自: http://blog.sina.com.cn/s/blog_4b5039210100h3ih.htmlhtml

 

分割窗口在應用程序中常常用到,它能夠靈活分佈窗口布局,常常用於相似文件資源管理器的窗口設計中。app

QSplitter是用來分割窗口的ide

以下代碼:佈局

 1 # -*- coding: utf-8 -*-
 2 from  PyQt4 import  QtCore,QtGui
 3 from  PyQt4.QtGui import *
 4 from  PyQt4.QtCore import *
 5 import sys
 6 QtCore.QTextCodec.setCodecForTr(QtCore.QTextCodec.codecForName("utf8"))
 7 class Csplitter(QtGui.QMainWindow):
 8     def __init__(self,parent=None):
 9         super(Csplitter,self).__init__(parent)
10         self.resize(400,400)
11         self.setWindowTitle('Pyqt Qsplitter')
12         self.textedit = QTextEdit()
13         self.textedit.setText("This is a TextEdit!")
14         self.listwidget = QListWidget()
15         self.listwidget.addItem("This is  a \nListWidget!")
16         self.listwidget.addItem("aaaaaaaaaaaaaaa")
17         self.treewidget = QTreeWidget()
18         self.treewidget.setHeaderLabels(['This','is','a','TreeWidgets!'])
19         splitter = QSplitter(self)
20         splitter.addWidget(self.textedit)
21         splitter.addWidget(self.listwidget)
22         splitter.addWidget(self.treewidget)
23         splitter.setOrientation(Qt.Vertical)    # Qt.Vertical 垂直   Qt.Horizontal 水平
24         self.setCentralWidget(splitter)
25 
26 if __name__ == '__main__':
27     app= QtGui.QApplication(sys.argv)
28     main = Csplitter()
29     main.show()
30     sys.exit(app.exec_())

效果:ui

QmainWindow上面有三個widget,一個TextEdit,一個ListWidget,一個TreeWidget,要讓他們分佔窗口,而且鼠標放到兩個widget的邊界,還能夠拖拽來改變widget的大小spa

 

咱們建立了三個widget之後,咱們經過建立一個Qsplitter(parent),注意它的參數此處是self,也就是咱們的MainWindow。
而後把三個widget經過addwidget方法加到Qsplitter上,若是咱們不調用setOrientation(Qt.Vertical)的話,三個控件默認是水平擺放的,這裏咱們調用了,變爲了垂直襬放,最後把splitter放到了MainWindow上。
另外Qsplitter還有別的不少methods。
Qsplitter.insertWidget(self,int index,Qwidget widget)在index序號處插入一個widget。
Qsplitter.indexOf(self,Qwidget widget)能夠獲得一個widget的index。
固然若是要隱藏某一個widget,能夠調用hide()方法,要顯示能夠調用show()方法。
Qsplitter.count()返回一個splitter裏面的widget的數目。
QSplitter.restoreState()和QSplitter.saveState()用來保存和恢復狀態,通常和Qsetting一塊兒使用。設計

相關文章
相關標籤/搜索