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
必须可见)。