Python 调整PyQt中QTableWidget中标题的高度
我试图在我的应用程序中包含一个带有四列的Python 调整PyQt中QTableWidget中标题的高度,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,我试图在我的应用程序中包含一个带有四列的QTableWidget,我需要标题中的列根据窗口大小进行拉伸。目前,这些列只占据一定的宽度,不会延伸到窗口 以下是我的问题的一个最小可验证示例: import sys from PyQt5 import QtWidgets class MyTable(QtWidgets.QTableWidget): def __init__(self, *args): QtWidgets.QTableWidget.__init__(self,
QTableWidget
,我需要标题中的列根据窗口大小进行拉伸。目前,这些列只占据一定的宽度,不会延伸到窗口
以下是我的问题的一个最小可验证示例:
import sys
from PyQt5 import QtWidgets
class MyTable(QtWidgets.QTableWidget):
def __init__(self, *args):
QtWidgets.QTableWidget.__init__(self, *args)
self.setheader()
self.resizeColumnsToContents()
self.resizeRowsToContents()
def setheader(self):
self.setHorizontalHeaderLabels(['Label 1', 'Label 2', 'Label 3'])
def main(args):
app = QtWidgets.QApplication(args)
table = MyTable(5, 3)
table.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main(sys.argv)
如果您正在实现一个QTableWidget
,则需要给出以下指令以实现拉伸效果:
self.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
从QTableWidget
调用QHeaderView
,并给出Stretch
指令。以下示例是此功能的工作实现:
import sys
from PyQt5 import QtWidgets
class MyTable(QtWidgets.QTableWidget):
def __init__(self, *args):
QtWidgets.QTableWidget.__init__(self, *args)
self.setheader()
self.resizeColumnsToContents()
self.resizeRowsToContents()
def setheader(self):
self.setHorizontalHeaderLabels(['Label 1', 'Label 2', 'Label 3'])
self.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
#self.horizontalHeader().setStretchLastSection(True) # This is another possible option
def main(args):
app = QtWidgets.QApplication(args)
table = MyTable(5, 3)
table.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main(sys.argv)
,这导致:
在上面的代码示例中,还有另一种可能会以不同的风格为您提供相同的目标。它已注释,但您是否应该使用它(而不是第一条指令):
,并且只有最后一列将拉伸:
我使用了setSectionResizeMode。工作起来很有魅力。但我现在需要的是根据单元格内容调整列宽的大小。虽然我使用了resizeCoulmnToContents()和ResizeZeroWSToContents,但事实并非如此work@North这个问题刚刚被打上了离题的烙印(虽然,从我的观点来看,它不是),而且似乎问题和答案都得到了某种“报复”的否决票。我认为你应该针对你的新问题提出另一个问题。试着举一个最小的可验证的例子(当问题被认为质量不高时,通常会被打上离题的标签)。请随意在我的答案中使用代码。我将编辑这个问题,以包含一个最小的可验证示例(因为它是一个相关的问题)。如果您对此不满意,请随时重新编辑或还原我的更改。
self.horizontalHeader().setStretchLastSection(True)