欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【PyQt5 学习记录】010:QSplitter

程序员文章站 2022-06-21 10:37:00
界面如下图: 动图效果演示: ......
 1 import sys
 2 from pyqt5.qtwidgets import (qapplication,
 3                              qwidget,
 4                              qsplitter,
 5                              qtextedit,
 6                              qpushbutton,
 7                              qlabel)
 8 from pyqt5.qtcore import (qt, qsettings)
 9 
10 
11 class window(qwidget):
12     def __init__(self, parent=none):
13         super(window, self).__init__(parent, flags=qt.window)
14 
15         # 创建父控件为 window 的分割窗口:
16         splitter_0 = qsplitter(self)
17         # 设置分割窗口下的控件不可折叠:
18         splitter_0.setchildrencollapsible(false)
19         # 设置分割条的宽度:
20         splitter_0.sethandlewidth(35)
21         # 设置分割窗口大小:
22         splitter_0.resize(600, 450)
23 
24         splitter_0.addwidget(qtextedit())
25 
26         # 创建父控件为 splitter_0 的分割窗口:
27         splitter_1 = qsplitter(splitter_0)
28         # 设置分割窗口的方向:
29         splitter_1.setorientation(qt.horizontal)
30         # 为分割窗口添加控件:
31         splitter_1.addwidget(qtextedit('横向排列'))
32         splitter_1.addwidget(qtextedit('横向排列'))
33         splitter_1.addwidget(qtextedit('横向排列'))
34         # 设置分割窗口下的控件的宽度,如果是垂直排列的则是高度:
35         splitter_1.setsizes([120, 80, 60])
36         # 设置分隔条是否跟随鼠标移动:
37         splitter_1.setopaqueresize(false)
38 
39         # 创建父控件为 splitter_0 且垂直分割的分割窗口:
40         splitter_2 = qsplitter(qt.vertical, splitter_0)
41         # 为分割窗口插入控件:
42         splitter_2.insertwidget(0, qtextedit('垂直排列'))
43         splitter_2.insertwidget(1, qtextedit('垂直排列'))
44         # 根据 id 来设置分割窗口中的控件比例:
45         splitter_2.setstretchfactor(0, 1)
46         splitter_2.setstretchfactor(1, 3)
47         # 根据 id 来设置分割窗口下的控件是否可以折叠:
48         splitter_2.setcollapsible(0, false)
49         splitter_2.setcollapsible(1, true)
50 
51         self.show()
52 
53 
54 if __name__ == "__main__":
55     app = qapplication(sys.argv)
56     window = window()
57     sys.exit(app.exec_())

界面如下图:

【PyQt5 学习记录】010:QSplitter

动图效果演示:

【PyQt5 学习记录】010:QSplitter