pyqt 布局篇

grid布局

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.resize(500,500)
        self.setup_ui()


    def setup_ui(self):
        grid = QGridLayout()
        self.setLayout(grid)

        names = [
            "CLS","Bck",'',"CLOSE",
            '4','5','6','7',
            '1','2','3','4',
            '0','.','=','+'
        ]

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

        for position,name in zip(positions,names):

            if name=='':
                continue
            button = QPushButton(name)
            grid.addWidget(button,*position)
        self.move(300,300)
        self.setWindowTitle("Calculator")
if __name__ == '__main__':
    import sys
    app=QApplication(sys.argv)

    win=Window()
    win.show()
    sys.exit(app.exec_())

分割器


from PyQt5.Qt import *




class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("分割器的学习")
        self.resize(500,500)
        self.setup_ui()


    def setup_ui(self):

        self.layout = QVBoxLayout()
        self.mainSplitter = QSplitter(self)
        self.layout.addWidget(self.mainSplitter)

        self.setLayout(self.layout)
        #水平线割
        self.mainSplitter.setOrientation(Qt.Horizontal)

        rightSplitter = QSplitter(self) #垂直分割
        rightSplitter.setOrientation(Qt.Vertical)

        textEdit = QTextEdit()
        textEdit.setText("window2")
        rightSplitter.addWidget(textEdit)

        t3=QTextEdit()
        t3.setText('window3')
        rightSplitter.addWidget(t3)

        t4=QTextEdit()
        t4.setText("wiindow1")
        self.mainSplitter.addWidget(t4)

        self.mainSplitter.addWidget(rightSplitter)

        #分割比例
        self.mainSplitter.setStretchFactor(0,1)
        self.mainSplitter.setStretchFactor(1,2)
        self.mainSplitter.show()






if __name__ == '__main__':
    import sys
    app=QApplication(sys.argv)

    win=Window()
    win.show()





    sys.exit(app.exec_())






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值