from PyQt4 import QtCore, QtGui
class MainWindow(QtGui.QMainWindow):
def __init__(self, table_rows, table_cols, **kwargs):
super(MainWindow, self).__init__(**kwargs)
self.table = QtGui.QTableWidget(table_rows, table_cols)
self.table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.table.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.table.verticalHeader().sectionResized.connect(self.fitToTable)
self.table.horizontalHeader().sectionResized.connect(self.fitToTable)
self.setCentralWidget(self.table)
self.fitToTable()
@QtCore.pyqtSlot()
def fitToTable(self):
x = self.table.verticalHeader().size().width()
for i in range(self.table.columnCount()):
x += self.table.columnWidth(i)
y = self.table.horizontalHeader().size().height()
for i in range(self.table.rowCount()):
y += self.table.rowHeight(i)
self.setFixedSize(x, y)
if __name__ == '__main__':
app = QtGui.QApplication([])
win = MainWindow(4, 5)
win.show()
app.exec_()
我不确定是否有一个简单的方法来计算桌子的大小,但是像这样的东西怎么样?在
此示例计算表的大小并将窗口大小固定为这些值。如果用户手动调整任何行或列的大小,它还会调整窗口的大小以适应。在
相关问题 更多 >
编程相关推荐