【发布时间】:2016-06-10 08:45:19
【问题描述】:
我正在开发一个相当简单的 PyQt 程序,它基本上只是一个充满项目的QTableWidget。我的目标是让项目的宽度和高度根据父 QTableWidget 的大小自动调整大小。例如,如果我将窗口调整得更小,项目的宽度和高度应该会减小,但项目数量应该保持不变,并且项目应该仍然完全填满父 QTableWidget。如您所见,我目前正在使用setColumnWidth 和setRowHeight 手动设置宽度和高度。
我已经尝试了以下 Stack Overflow 问题以及许多其他问题和网站中的建议,但没有一个符合我的目标。
1. How to make qtablewidgets columns assume the maximum space
2. pyqt how to maximize the column width in a tableview
这是我目前使用的代码:
from PyQt4 import QtGui, QtCore
import PyQt4.Qt
class Window(QtGui.QWidget):
def __init__(self, rows, columns):
super(Window, self).__init__()
self.setWindowState(QtCore.Qt.WindowMaximized)
self.table = QtGui.QTableWidget(rows, columns, self)
self.table.verticalHeader().setVisible(False)
self.table.horizontalHeader().setVisible(False)
# this is what I am currently using to set the row and column size
for x in range(columns):
self.table.setColumnWidth(x, 13)
for x in range(rows):
self.table.setRowHeight(x, 13)
for row in range(rows):
for column in range(columns):
item = QtGui.QTableWidgetItem()
self.table.setItem(row, column, item)
layout = QtGui.QGridLayout(self)
layout.addWidget(self.table, 0, 0, 1, 6)
self.show()
def main():
import sys
app = QtGui.QApplication(sys.argv)
window = Window(54, 96)
sys.exit(app.exec_())
if __name__ == "__main__":
main()
我同意这个问题的长度,但我想让我的问题非常清楚。提前感谢大家的帮助!
【问题讨论】:
标签: python pyqt pyqt4 qtablewidget