python - 动态调整小部件内小部件的大小?
问题描述
基本上我想要做的是创建一个QListWidget
包含几个QTableWidget
s 的,我想要实现的是每次在里面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_())
到目前为止,这就是它的样子……
解决方案
推荐阅读
- django-2.0 - 如何在 Django 3.1 中添加“模板”和“静态”文件夹
- powerbi - 如何使用 DAX 计算 Power BI 中每个类别和仅选定项目的百分比
- selenium - ExtentHtmlReporter 无法创建 report.html
- html - 如何在输入文件标签 ReactJS 中重新分配保存的文件
- linux - 运行 Docker 脚本时未找到文件,但在另一个 Docker 脚本中找到了文件
- javascript - 为什么存储在firestore中的数据没有在react中获取?
- eclipse - 如何将 eclipse 项目迁移到 atmel-studio?
- groovy - Jenkins管道中的条件表达式中的预期字符串文字
- flutter - 在 Flutter 中,如何创建“此应用程序的工作原理”演练?
- windows - 如何防止 CMake 安装 .lib 文件