PyQt5:网格布局(13)

原创 2016年06月01日 00:22:07

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

最通用的布局类别是网格布局(QGridLayout)。该布局方式将窗口空间划分为许多行和列。要创建该布局方式,我们需要实用QGridLayout类。

#!/usr/bin/python
# gridlayout.py
from PyQt5.QtWidgets import QApplication, QPushButton, QLabel, QGridLayout
from PyQt5 import QtWidgets

class GridLayout(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
  
        self.setWindowTitle('grid layout')
        
        names = ['Cls', 'Bck','', 'Close', '7', '8', '9', '/', 
        '4', '5', '6', '*', '1', '2',  '3', '-', '0', '.', '=', '+']
        
        grid = 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 = QPushButton(i)
            if j == 2:
                grid.addWidget(QLabel(''),  0,  2)
            else:
                grid.addWidget(button, pos[j][0],  pos[j][1])
            j = j + 1;
        
        self.setLayout(grid)
        self.resize(300,  150)

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = GridLayout()
    qb.show()
    sys.exit(app.exec_())

在这个示例中,我们创建一组按照网格布局的按钮。为了填补Bck和Close按钮之间的空白,我们使用QLabel部件。

         grid= QGridLayout()

         该语句创建了一个网格布局。

         if  j == 2:

                  grid.addWidget(QLabel(''), 0,  2)

         else:

                  grid.addWidget(button, pos[j][0], pos[j][1])

         使用addWidget()方法,我们将部件加入到网格布局中。addWidget()方法的参数依次为要加入到局部的部件,行号和列号。


版权声明:本文为博主原创文章,未经博主允许不得转载。

QsciScintillaBase常用函数记录

记下来以防止忘记了 信号: 离开保存点   SCN_SAVEPOINTLEFT()  文档被改变  SCN_MODIFIED(int,int,const char *,int,int,int,i...

PyQt5:网格布局2(14)

学习《PyQt4入门指南 PDF中文版.pdf 》笔记 部件在网格布局中可以跨越多行或者多列。我们将下面的示例中演示该情况。 #!/usr/bin/python # gridlayout2...

Eric6与pyqt5学习笔记 3【水平/垂直,网格,窗体四大类布局】

ummm,这段博主时间比较忙,准备下周的比赛还有一个app的开发(即将放到github,欢迎提出意见~),所以学习了好几天才更新第三篇笔记~     上篇学习笔记提到了从最基本的setGeometry...
  • wy_97
  • wy_97
  • 2017年10月31日 23:51
  • 96

PyQt5初级教程--PyQt5中的布局管理[5/13]

想用PyQt5写GUI,但是网上的PyQt5资源太少了,找到一个英文的,翻译一下,和学习PyQt5的同学共勉! (本系列中所有代码在windows7 64位[]/Python 3.4.3 32bit...

PyQt5学习教程13:输入对话框的使用

本文将在上一个教程的基础上,添加更改输入提示符功能。我们将在窗体上,再绘制一个PushButton,点击该PushButton时,会出现输入对话框,我们可以在输入对话框中更改新的提示符。本文重点讲解输...

PyQt5教程-13-滑块控件

QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。在我们的例子中,我们将创建一个滑块和一个标签。标签显示图像。滑块将控制标签显示的图像。#!/usr/bin/p...

PyQt5中文基础教程4 布局管理

布局管理 在一个GUI程序里,布局是一个很重要的方面。布局就是如何管理应用中的元素和窗口。有两种方式可以搞定:绝对定位和PyQt5的布局类 绝对定位 每个程序都是以像素为单位区分元素的位置,衡量...

PyQt5学习记录(3)---布局管理

布局管理的两种方法布局管理是所有GUI编程中核心内容之一。在Qt里有两种方法可以控制布局,分别是绝对定位和布局类.绝对定位代码:#coding=utf-8 import sys from PyQt5....

pyqt5学习(三) 布局管理

布局有两种:绝对定位和PyQt5的布局类 1.绝对定位的意思很明显,就是给定坐标让它出现在某个位置: import sys from PyQt5.QtWidgets import QWidget,QL...

PYQT5水平布局后垂直方向控件间距的调整方法

最近在做QT做界面设计,软件使用的是QTCreator4.2.1,pyqt5.8.1,使用水平布局做好界面后,在软件中也调整好了控件的间隔,达到了想要设计的效果,如下图。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:网格布局(13)
举报原因:
原因补充:

(最多只允许输入30个字)