PyQT5 (七十二)PyQt5直接用代码布局 -让按钮永远在右下角(addStretch)

PyQT5 (七十二)PyQt5直接用代码布局 -让按钮永远在右下角(addStretch)

 

PyQt5直接用代码布局 -让按钮永远在右下角(addStretch)

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QMessageBox, QApplication, QVBoxLayout, QWidget, \
    QLabel

'''
PyQt5直接用代码布局 -让按钮永远在右下角(addStretch)
'''


class RightBottomButtonDemo(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 设置定位和左上角坐标
        self.setGeometry(300, 300, 360, 260)
        # 设置窗口标题
        self.setWindowTitle('让按钮永远在右下角(addStretch) 的演示')
        # 设置窗口图标
        # self.setWindowIcon(QIcon('../web.ico'))

        OKBtn = QPushButton('确定')
        cancelBtn = QPushButton('取消')

        # 水平布局
        hbox = QHBoxLayout()
        hbox.addStretch(0)
        hbox.addWidget(OKBtn)
        hbox.addWidget(cancelBtn)

        # 垂直布局
        vbox = QVBoxLayout()
        btn1 = QPushButton('按钮1')
        btn2 = QPushButton('按钮2')
        btn3 = QPushButton('按钮3')

        vbox.addStretch(0)
        vbox.addWidget(btn1)
        vbox.addWidget(btn2)
        vbox.addWidget(btn3)
        vbox.addStretch(1)
        # 将水平布局放到垂直布局的最下面
        vbox.addLayout(hbox) # 两个按钮始终在右下
        self.setLayout(vbox)



if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 设置应用图标
    app.setWindowIcon(QIcon('../web.ico'))
    w = RightBottomButtonDemo()
    w.show()
    sys.exit(app.exec_())

上一篇:解决Jpanel内容更新后不能即时显示


下一篇:Vbox 虚拟机全屏