zoukankan      html  css  js  c++  java
  • PyQt5 布局

     1 import sys
     2 
     3 from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QVBoxLayout, QHBoxLayout, QPushButton, QGridLayout
     4 
     5 
     6 class Example(QWidget):
     7     def __init__(self):
     8         super().__init__()
     9         self.initUI()
    10 
    11     def initUI(self):
    12         vlayout = QVBoxLayout()  # 垂直布局
    13 
    14         hlayout = QHBoxLayout()  # 水平布局
    15 
    16         for i in range(10):  # 十个标签
    17             lab1 = QLabel("label" + str(i), self)
    18             # lab1.move(15, 10 + (i * 30))
    19             hlayout.addWidget(lab1)
    20         vlayout.addLayout(hlayout)  # 水平布局添加到垂直布局中
    21 
    22         for i in range(10):  # 十个标签
    23             lab1 = QLabel("label" + str(i), self)
    24             # lab1.move(15, 10 + (i * 30))
    25             vlayout.addWidget(lab1)
    26 
    27         self.setLayout(vlayout)
    28 
    29         self.setGeometry(100, 100, 300, 600)
    30         self.setWindowTitle("定位测试")
    31         self.show()
    32 
    33 
    34 class Test(QWidget):
    35     def __init__(self):
    36         super().__init__()
    37         self.initUI()
    38 
    39     def initUI(self):
    40         okButton = QPushButton("确定")
    41         cancelButton = QPushButton("取消")
    42         hbox = QHBoxLayout()
    43         hbox.addStretch(1)
    44         hbox.addWidget(okButton)
    45         hbox.addWidget(cancelButton)
    46 
    47         vbox = QVBoxLayout()
    48         vbox.addStretch(1)
    49         vbox.addLayout(hbox)
    50 
    51         self.setLayout(vbox)
    52         self.setGeometry(100, 100, 500, 500)
    53         self.show()
    54 
    55 
    56 class gridLayout(QWidget):
    57     def __init__(self):
    58         super().__init__()
    59         self.initUI()
    60 
    61     def initUI(self):
    62         grid = QGridLayout()
    63         self.setLayout(grid)
    64         names = ['Cls', 'Bck', '', "Close",
    65                  "7", "8", "9", "/",
    66                  "4", "5", "6", "*",
    67                  "1", "2", "3", "-",
    68                  "0", ".", "=", "+"]
    69         positions = [(i, j) for i in range(5) for j in range(4)]
    70         for position, name in zip(positions, names):
    71             if name == "":
    72                 continue
    73             button = QPushButton(name)
    74             grid.addWidget(button, *position)
    75         label = QLabel("计算器计算器计算器计算器计算器计算器计算器计算器计算器计算器计算器计算器计算器计算器");
    76         grid.addWidget(label, 5, 0, 1, 4)  # 夸四列
    77         lab1 = QLabel("计算器1")
    78         grid.setSpacing(10)
    79         grid.addWidget(lab1, 9, 0, 4, 1)  # 夸四行
    80         self.move(300, 150)
    81         self.setWindowTitle("计算器")
    82         self.show()
    83 
    84 
    85 if __name__ == '__main__':
    86     app = QApplication(sys.argv)
    87     # ex = Example()
    88     # t = Test()
    89     c = gridLayout()
    90     sys.exit(app.exec_())
  • 相关阅读:
    koa中使用 ejs
    koa 中获取 post 提交数据
    koa-static 静态资源中间件
    koa 中使用 art-template 模板引擎
    koa中使用cookie
    elasticsearch的安装和使用
    J2EE项目中后台定时运行的程序
    pycharm下搭建django开发环境
    什么是反向代理,如何区别反向与正向代理
    ionic build android error when download gradle
  • 原文地址:https://www.cnblogs.com/lanyue52011/p/8758239.html
Copyright © 2011-2022 走看看