PyQt4 Docks 上的布局管理
Layout management on PyQt4 Docks
我完全是 GUI n00b,在 PyQt4 中开发应用程序。该应用程序是为实验室工作台设计的,它将首先在其中搜索设备,然后用停靠 windows 填充主 window,找到的每件设备一个。每件设备的界面看起来各不相同,带有用于控制和监视特定设备的各种小部件。
我的问题是,如何向停靠栏添加布局?一般来说,我的仪表板是 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
QDockWidget 已经有一个布局(如错误所说)
你应该试试这样的东西(伪代码)
grid = QWidget()
layout = QGridLayout()
... add the widget to the layout
grid.setLayout(layout)
dock = QDockWidget()
dock.setWidget(grid)
我完全是 GUI n00b,在 PyQt4 中开发应用程序。该应用程序是为实验室工作台设计的,它将首先在其中搜索设备,然后用停靠 windows 填充主 window,找到的每件设备一个。每件设备的界面看起来各不相同,带有用于控制和监视特定设备的各种小部件。
我的问题是,如何向停靠栏添加布局?一般来说,我的仪表板是 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
QDockWidget 已经有一个布局(如错误所说)
你应该试试这样的东西(伪代码)
grid = QWidget()
layout = QGridLayout()
... add the widget to the layout
grid.setLayout(layout)
dock = QDockWidget()
dock.setWidget(grid)