PyQt4:根据 QMainWindow 的大小设置 QGridLayout 的大小

发布于 2024-12-07 23:09:44 字数 174 浏览 1 评论 0原文

我正在用 Python 编写一个 Qt 小应用程序。我创建了 QMainWindow,它有一个 QGridLayout。在每个网格中我添加 QTextBrowser Widget。我希望网格的左侧不大于窗口的 25%。所以我将有两个 QTextBrowser:一个是窗口宽度的 25%,另一个是窗口宽度的 75%。我该怎么做呢?谢谢!

I'm writing a little Qt application with Python. I've created QMainWindow, which have a QGridLayout. In each grid I'm adding QTextBrowser Widget. I want left side of my grid to be not bigger than 25% of window. So I'll have two QTextBrowsers: one is 25% of window's width, and another is 75% of window's width. How can I do it? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲爱恨情仇 2024-12-14 23:09:44

您可以通过使用 setStretch() 为每个单元格提供拉伸来指定相对宽度。它们的尺寸将与给定的拉伸成比例。这是一个简单的示例,使右侧小部件比左侧小部件大 3 倍。

import sys
from PyQt4 import QtGui

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)

    Q = QtGui.QWidget()

    H = QtGui.QHBoxLayout()
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(0,1)
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(1,3)

    Q.setLayout(H)

    Q.show()

    app.exec_()

但是,请记住,默认情况下小部件具有最小尺寸。所以他们可以收缩到低于这个水平。如果您也想更改该行为,请考虑根据您的喜好设置最小尺寸。

You can specify relative width by giving each cell a stretch with setStretch(). They will get sizes proportional to the given stretches. Here is a simple example that makes the right widget 3 times greater than the left widget.

import sys
from PyQt4 import QtGui

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)

    Q = QtGui.QWidget()

    H = QtGui.QHBoxLayout()
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(0,1)
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(1,3)

    Q.setLayout(H)

    Q.show()

    app.exec_()

But, bear in mind that widgets have minimum sizes by default. So they can shrink below that. If you want to change that behavior also, consider setting minimum sizes to your liking.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文