我是一个完整的GUI n00b在PyQt4中开发应用程序。该应用程序是为实验室工作台设计的,它首先会搜索设备,然后使用对接的窗口填充主窗口,每个设备找到一个。每件设备的接口都会有所不同,各种小部件用于控制和监控特定设备。
我的问题是,如何在停靠栏中添加布局?一般来说,我的仪表板是QtGui.QGridLayout(),有各种各样的小部件可以构建它。但是,当我尝试设置新扩展坞的布局时,出现错误:
oscilloscopeGrid = QtGui.QGridLayout()
...add widgets too grid build up interface for oscilloscope
oscilloscopeDock = QtGui.QDockWidget("MSO-X-3034A", self)
oscilloscopeDock.setLayout(oscilloscopeGrid)
代码运行,但我的仪器控制面板设计没有显示在扩展坞上,我在控制台上收到以下警告:
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget "", which
already has a layout
答案 0 :(得分:1)
QDockWidget已有布局(如错误所示)
你应该尝试这样的东西(伪代码)
grid = QWidget()
layout = QGridLayout()
... add the widget to the layout
grid.setLayout(layout)
dock = QDockWidget()
dock.setWidget(grid)