PyQt4 Box布局
2016-03-28 12:02
253 查看
使用布局类别方式的布局管理器比绝对方式的布局管理器更加灵活实用。它是窗口部件的首选布局管理方式。最基本的布局类别是QHBoxLayout和QVBoxLayout布局管理方式,分别将窗口部件水平和垂直排列。
假设我们要将两个按钮放在窗口的右下角。为创建该布局,我们需要使用一个水平Box和一个垂直Box,另外为了创建必须的空白空间,我们还需要添加一个伸缩间隔元素(stretch factor)。
效果:
ok = QtGui.QPushButton('OK')
cancel = QtGui.QPushButton('Cancel')
以上两句用来创建两个按钮(OK和Cancel按钮)。
hbox = QtGui.QHBoxLayout()
hbox.addStretch(1)
hbox.addWidget(ok)
hbox.addWidget(cancel)
以上四句用来创建一个水平box布局,然后加入一个伸缩间隔元素与两个按钮。
vbox = QtGui.QVBoxLayout()
vbox.addStretch(1)
vbox.addLayout(hbox)
为创建需要的布局,我们使用以上语句创建了一个垂直box布局并将水平box布局放入垂直box布局中。
self.setLayout(vbox)
最后我们设置窗口的主布局。
假设我们要将两个按钮放在窗口的右下角。为创建该布局,我们需要使用一个水平Box和一个垂直Box,另外为了创建必须的空白空间,我们还需要添加一个伸缩间隔元素(stretch factor)。
#!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import QtGui, QtCore class BoxLayout(QtGui.QWidget): def __init__(self, parent = None): QtGui.QWidget.__init__(self) self.setWindowTitle('box layout') ok = QtGui.QPushButton('OK') cancel = QtGui.QPushButton('Cancel') hbox = QtGui.QHBoxLayout() hbox.addStretch(1) hbox.addWidget(ok) hbox.addWidget(cancel) vbox = QtGui.QVBoxLayout() vbox.addStretch(1) vbox.addLayout(hbox) self.setLayout(vbox) self.resize(300, 150) app = QtGui.QApplication(sys.argv) box = BoxLayout() box.show() sys.exit(app.exec_())
效果:
ok = QtGui.QPushButton('OK')
cancel = QtGui.QPushButton('Cancel')
以上两句用来创建两个按钮(OK和Cancel按钮)。
hbox = QtGui.QHBoxLayout()
hbox.addStretch(1)
hbox.addWidget(ok)
hbox.addWidget(cancel)
以上四句用来创建一个水平box布局,然后加入一个伸缩间隔元素与两个按钮。
vbox = QtGui.QVBoxLayout()
vbox.addStretch(1)
vbox.addLayout(hbox)
为创建需要的布局,我们使用以上语句创建了一个垂直box布局并将水平box布局放入垂直box布局中。
self.setLayout(vbox)
最后我们设置窗口的主布局。
相关文章推荐
- Qt示例总结
- Qt使用教程之指定代码样式设置
- Qt QTableView另类打印解决方案
- PyQt4布局管理——绝对定位方式
- 最近学习qt,一些细节备忘
- Ubuntu 14.04使用Qt5不能输入中文的解决办法
- QT5 乱码问题 II
- Qt中int转换成QString
- PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
- PyQt4工具栏
- PyQt4菜单栏
- PyQt4状态栏
- Qt获取路径
- PyQt4将窗口放在屏幕中间
- Qt调用外部程序QProcess通信
- PyQt4消息窗口
- Qt 安装包制作框架:Qt Installer Framework
- 在Mac系统下发布Qt程序详细教程
- Qt程序打包成exe可执行文件图文教程
- qt5.5程序打包发布以及依赖