博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习pyqt 基础 3
阅读量:7081 次
发布时间:2019-06-28

本文共 1583 字,大约阅读时间需要 5 分钟。

hot3.png

PyQt4 中的布局管理器

布局管理就是我们在窗口中安排不见位置的方法。布局管理有两种工作方式:绝对定位方式和布局类别方式。一般来说,绝对布局方式用的较少,就像网页,现在不都什么流行响应式布局咩

布局类别方式 (layout classes)

使用布局类别方式的布局管理器比绝对定位方式的布局管理器更加灵活实用。它是窗口部件的首先布局管理方式。最基本的布局类别是QHBoxLayout和QVBoxLayout布局管理方式。

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)
  • 代码都比较容易理解,至于vbox.addStretch()这一方法,意思时加入一个伸缩间隔元素(深入须看文档)

网格布局方式

class GridLayout(QtGui.QWidget): def __init__(self, parent = None): QtGui.QWidget.__init__(self) self.setWindowTitle('grid layout') names = ['Cls', 'Bck', '', 'Close', '7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+'] grid = QtGui.QGridLayout() j = 0 pos = [(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3)] for i in names: button = QtGui.QPushButton(i) if j == 2: grid.addWidget(QtGui.QLabel(''), 0, 2) else: grid.addWidget(button, pos[j][0], pos[j][1]) j = j + 1 self.setLayout(grid)
  • 感觉代码还是比较好懂,书上也没怎么讲,我也就...

转载于:https://my.oschina.net/zjuysw/blog/303567

你可能感兴趣的文章
前端之float的几种清除浮动方式
查看>>
Python 实践--混入类
查看>>
如何检测 Android Cursor 泄漏
查看>>
NTP时间服务器
查看>>
intellij tomcat
查看>>
javascript 对象的方式解析url地址参数
查看>>
DBProxy 读写分离使用说明
查看>>
使用迭代器进行二分搜索
查看>>
poj 1001 java大精度
查看>>
EntLib 3.1学习笔记(3) : Cryptography Application Block
查看>>
python函数第6天(day 25)
查看>>
跨应用启动service
查看>>
csu 1987: 绚丽的手链
查看>>
nlp 笔记:A Fast and Accurate Dependency Parser using Neural Networks
查看>>
conda和pip相关操作
查看>>
那一年,2017
查看>>
java操作ORACLE数据库工具类(JDBC)
查看>>
机器学习之step by step实战及知识积累笔记
查看>>
Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾
查看>>
HttpClient Timeout waiting for connection from pool 问题解决方案
查看>>