我正在使用PyQt4。
我想在QTableWidget
中显示QDialog
,这是我使用的代码:
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))
,但他们都没有工作。
感谢。
答案 0 :(得分:0)
像这样设置你的表:
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单元格内部是什么
答案 1 :(得分:0)
你可以尝试
w.resize(tw.width(),tw.height())