我目前有一个Python函数(如下),用于从Pandas DataFrame(df)构建QTableWidget。我想让这个QTableWidget默认显示所有单元格的大小。不幸的是,QSizePolicy.Maximum使用的默认Size Hint会截断表格中的某些行和列。QTableWidget似乎没有setSizeHint()方法。如何设置大小提示以显示所有行和列的大小?
我尝试查找之前关于此问题的帖子,但我找到的所有答案都不是基于Python和QTableWidget的。
我尝试查找之前关于此问题的帖子,但我找到的所有答案都不是基于Python和QTableWidget的。
import PyQt5.QWidgets as QWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import pandas as pd
def build_table(self,df):
table = QWidgets.QTableWidget()
table.setColumnCount(len(df.columns))
table.setRowCount(len(df.index))
table.setHorizontalHeaderLabels(df.columns)
for row_num, row in enumerate(df.index):
for col_num, col in enumerate(df.columns):
item = QWidgets.QTableWidgetItem(str(df.loc[row,col]))
item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
table.resizeColumnsToContents()
table.resizeRowsToContents()
table.verticalHeader().setVisible(False)
table.setSizePolicy(QWidgets.QSizePolicy.Maximum,QWidgets.QSizePolicy.Maximum)