PyQt5动态(可拖动控件大小)布局控件QSplitter简介
PyQt还提供了特殊的布局管理器QSplitter。它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用户拖动子控件的边界控制子控件的大小,并提供一个处理拖曳子控件的控制器
在QSplitter对象中各子控件默认是横向布局的,可以使用Qt,Vertical进行垂直布局
QSplitter类中常用的方法
QSplitter的使用实例
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 ): #设置全局布局为水平布局,设置标题与初始大小窗口 hbox=QHBoxLayout() self.setWindowTitle("QSplitter例子") self.setGeometry(300,300,300,200) #实例化QFrame控件 topLeft=QFrame() topLeft.setFrameShape(QFrame.StyledPanel) bottom=QFrame() bottom.setFrameShape(QFrame.StyledPanel) #实例化QSplitter控件并设置初始为水平方向布局 splitter1=QSplitter(Qt.Horizontal) textedit=QTextEdit() #向Splitter内添加控件。并设置游戏的初始大小 splitter1.addWidget(topLeft) splitter1.addWidget(textedit) splitter1.setSizes([100,200]) #实例化Splitter管理器,添加控件到其中,设置垂直方向 splitter2=QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom) #设置窗体全局布局以及子布局的添加 hbox.addWidget(splitter2) self.setLayout(hbox) if __name__ == '__main__': app=QApplication(sys.argv) demo=SplitterExample() demo.show() sys.exit(app.exec_())
运行效果如下
代码分析
在这个例子中,显示了使用两个QSplitter组织的两个QFame控件,其中第一个QSplitter对象包含一个QFrame对象和QTextEdit对象,并按照水平方向进行布局
splitter1=QSplitter(Qt.Horizontal) textedit=QTextEdit() #向Splitter内添加控件。并设置游戏的初始大小 splitter1.addWidget(topLeft) splitter1.addWidget(textedit) splitter1.setSizes([100,200])
第二个QSplitter对象添加第一个QSplitter对象和一个QFrame对象,并按照垂直布局
splitter2=QSplitter(Qt.Vertical) splitter2.addWidget(splitter1) splitter2.addWidget(bottom)
本文主要介绍了PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例,更多关于PyQt5布局控件的使用知识请查看下面的相关链接
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。