ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyQt5基本布局

2020-12-29 13:30:30  阅读:274  来源: 互联网

标签:基本 __ self 布局 PyQt5 sys QPushButton addWidget hbox


水平布局:

 

代码:

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import *

class WinForm(QWidget):
    def __init__(self, parent = None):
        super(WinForm,self).__init__(parent)
        self.setWindowTitle('水平布局管理例子')
        hlayout = QHBoxLayout()
        hlayout.addWidget(QPushButton(str(1)))
        hlayout.addWidget(QPushButton(str(2)))
        hlayout.addWidget(QPushButton(str(3)))
        hlayout.addWidget(QPushButton(str(4)))
        hlayout.addWidget(QPushButton(str(5)))
        hlayout.addWidget(QPushButton(str(6)))
        self.setLayout(hlayout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = WinForm()
    form.show()
    sys.exit(app.exec_())

 竖直布局与这个差不多就把QHBoxLayout  改成 QVBoxLayout  就可以啦。

addStretch函数:

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *

class WinForm(QWidget):
    def __init__(self, parent = None):
        super(WinForm,self).__init__(parent)
        self.setWindowTitle('伸缩量管理例子')

        btn1 = QPushButton()
        btn2 = QPushButton()
        btn3 = QPushButton()

        btn1.setText('one')
        btn2.setText('two')
        btn3.setText('three')

        hbox = QHBoxLayout()
        hbox.addStretch(2)
        hbox.addWidget(btn1)
        hbox.addStretch(2)
        hbox.addWidget(btn2)
        hbox.addStretch(2)
        hbox.addWidget(btn3)

        self.setLayout(hbox)



if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = WinForm()
    form.show()
    sys.exit(app.exec_())

 QGridLayout

常用的方法: 

 

代码:

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import *


class FormW(QWidget):
    def __init__(self,parent = None):
        super(FormW,self).__init__(parent)
        self.initUI()

    def initUI(self):
        #1
        grid = QGridLayout()
        self.setLayout(grid)

        #2
        names =['Cls', 'Back', '', 'Close',
                '7', '8','9','/',
                '4','5','6','*',
                '1','2','3','-',
                '0','.','=','+']

        #3
        positions = [(i,j) for i in range(5) for j in range(4)]

        #4
        for position, name in zip(positions,names):
            if name == '':
                continue
            button = QPushButton(name)
            grid.addWidget(button,*position)

        self.move(300,150)
        self.setWindowTitle('网络布局管理例子')



if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = FormW()
    form.show()
    sys.exit(app.exec_())

 基本布局就简单介绍到这里,如果想比较复杂的话,请使用他们相互的组合。这个还是非常简单的。

标签:基本,__,self,布局,PyQt5,sys,QPushButton,addWidget,hbox
来源: https://blog.csdn.net/weixin_42126427/article/details/111898688

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有