PyQt添加QLayou

2024-04-26 12:19:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过PyQt在屏幕上显示一个数组。我已经创建了要显示和数组的对象,它在Qt设计器中被称为tableView。这是一个QTableView。在

当我试着运行这个代码时

tablemodel = MyTableModel(my_array, self)
tableview = QTableView()
tableview.setModel(tablemodel)

layout = QVBoxLayout(self)
layout.addWidget(tableview)
self.setLayout(layout)

我得到以下错误

^{pr2}$

如果您能帮助您显示my_array,我们将不胜感激!谢谢!在


Tags: 对象代码self屏幕my数组qtarray
2条回答

QMainWindow类与大多数其他小部件不同的是,它有一个内置的布局,用于布置菜单栏、工具栏、状态栏和停靠小部件:

QMainWindow Layout

如您所见,它还为中心小部件留出了空间,您需要在其中放置自己的内容。所以你的代码应该是这样的:

tablemodel = MyTableModel(my_array, self)
tableview = QTableView()
tableview.setModel(tablemodel)

widget = QWidget()
layout = QVBoxLayout(widget)
layout.addWidget(tableview)
self.setCentralWidget(widget)

试试这个:

layout = QVBoxLayout()
layout.addWidget(tableview)

layout2 = QVBoxLayout(self)
layout2.addLayout(layout)

相关问题 更多 >