QT开发中文网

QWidget 如何做出动态伸缩布局

QWidget 的动态伸缩布局可以通过使用 QBoxLayout 来实现。QBoxLayout 可以将子控件按照水平或垂直方向进行布局,并支持动态调整子控件的大小和位置。

下面是一个简单的例子,演示如何使用 QVBoxLayout 实现动态伸缩布局:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout

class Example(QWidget):

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

        self.initUI()

    def initUI(self):

        vbox = QVBoxLayout()   # 垂直布局
        vbox.addStretch(1)     # 添加一个可伸缩的空白项,使得按钮放置在底部

        btn1 = QPushButton('Button 1', self)
        btn2 = QPushButton('Button 2', self)

        vbox.addWidget(btn1)
        vbox.addWidget(btn2)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Dynamic Layout')
        self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

该例子中,我们创建了一个 QVBoxLayout 对象,并添加了两个 QPushButton 控件。由于 QVBoxLayout 默认从顶部开始布局,因此我们在 QVBoxLayout 中添加了一个可伸缩的空白项,使得按钮放置在底部。这样,当我们改变窗口大小时,按钮的位置也会随之改变。

你可以尝试运行该例子,并拖动窗口大小,观察按钮的位置变化。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=687

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?