Python 动态调整小部件内部小部件的大小?

Python 动态调整小部件内部小部件的大小?,python,python-2.7,pyqt,pyqt4,Python,Python 2.7,Pyqt,Pyqt4,基本上,我要做的是创建一个包含多个QTableWidget的QListWidget,我要实现的是每次在QTableWidget中插入行时,QListWidgetItem都需要调整大小,以便插入的行可见。有没有简单的方法 这就是我到目前为止的想法: from PyQt4 import QtCore, QtGui import sys class Test(object): def __init__(self, main_window): main_window.resi

基本上,我要做的是创建一个包含多个
QTableWidget
QListWidget
,我要实现的是每次在
QTableWidget
中插入行时,QListWidgetItem都需要调整大小,以便插入的行可见。有没有简单的方法

这就是我到目前为止的想法:

from PyQt4 import QtCore, QtGui
import sys


class Test(object):
    def __init__(self, main_window):
        main_window.resize(600, 400)
        self.central_widget = QtGui.QWidget(main_window)

        self.list_widget = QtGui.QListWidget(self.central_widget)
        self.list_widget.setGeometry(QtCore.QRect(10, 10, 580, 380))
        self.list_widget.setSpacing(5)

        self.list_widget.addItem(QtGui.QListWidgetItem())
        self.list_widget.addItem(QtGui.QListWidgetItem())

        self.table_widget_1 = QtGui.QTableWidget(0, 2, self.list_widget)
        self.table_widget_1.setHorizontalHeaderLabels(['Column 1', 'Column 2'])
        self.table_widget_1.horizontalHeader().setResizeMode(1)
        self.table_widget_1.verticalHeader().setVisible(False)

        self.table_widget_2 = QtGui.QTableWidget(0, 2, self.list_widget)
        self.table_widget_2.setHorizontalHeaderLabels(['Column 1', 'Column 2'])
        self.table_widget_2.horizontalHeader().setResizeMode(1)
        self.table_widget_2.verticalHeader().setVisible(False)

        self.list_widget.setItemWidget(
            self.list_widget.item(0),
            self.table_widget_1
        )

        self.list_widget.setItemWidget(
            self.list_widget.item(1),
            self.table_widget_2
        )

        self.table_widget_1.insertRow(self.table_widget_1.rowCount())
        self.table_widget_2.insertRow(self.table_widget_2.rowCount())
        main_window.setCentralWidget(self.central_widget)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    main_window = QtGui.QMainWindow()
    ui = Test(main_window)
    main_window.show()
    sys.exit(app.exec_())
这就是到目前为止的情况


请提供一份我已更新代码和图片的报告。可以看到,由于
QListWidgetItem
的大小限制,插入
table\u widget\u 1
table\u widget\u 2
中的行不可见。我很确定当
QTableWidget
的大小发生变化时(通过添加新的
QTableWidgetItem
)我需要找出整个
QTableWidget
的实际大小,然后更新与特定
QTableWidget
关联的
QListWidgetItem
的大小。为什么要使用QListWidget?我的意思是它不一定是
QListWidget
(我觉得使用某种列表是合适的)。我想确保用户可以添加多个
QTableWidget
s,并且可以编辑他们的项目(添加的
QTableWidgetItem
必须可见)。