gpt4 book ai didi

python - 如何使 QDIalog 自动调整其内容的大小?

转载 作者:行者123 更新时间:2023-11-28 19:27:04 25 4
gpt4 key购买 nike

我正在使用 PyQt4。

我想在 QDialog 中显示一个 QTableWidget,这是我使用的代码:

    w = QDialog()
layout = QGridLayout()
tw = QTableWidget(w)

... code to setup tw ...

layout.addWidget(tw, 0, 0)
w.setLayout(layout)
w.exec_():

生成的 QDialog 工作正常,除了它只显示 QTableWidget 的一部分,但是表中有很多列。所以我必须拖动边框来调整它的大小。

有没有办法让 QDialog 一开始就自动调整到合适的大小?

我尝试使用 adjustSize()setSizePolicy(QSizePolicy(QSizePolicy.Expanding)) 但它们都不起作用。

谢谢。

最佳答案

像这样布置你的 table :

tw.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
tw.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
tw.horizontalHeader().hide()
tw.verticalHeader().hide()

填充后调整它的大小:

tw.resizeRowsToContents()
tw.resizeColumnsToContents()

然后像这样设置对话框的大小:

dialogWidth = tw.horizontalHeader().length() + 24
dialogHeight= tw.verticalHeader().length() + 24
w.setFixedSize(dialogWidth, dialogHeight)

无论您有多少行或列,以及 tableWidget 单元格内有什么,对话框都会自动调整到合适的大小

关于python - 如何使 QDIalog 自动调整其内容的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com