PySide - 菜单栏上的GUI非活动区域

时间:2015-12-03 09:04:04

标签: python qt user-interface pyside

我现在正在PySide编写GUI几个月。这个软件是使用Qt设计器和半硬编码的一半开发的。它是一个MainWindow软件,带有一个中央部件和许多底座。

最近我意识到菜单栏(以及任务栏的一小部分)有一个“非活动”区域,即鼠标无法直接访问菜单。此区域在图片中以绿色突出显示。

inactive zone

菜单正常工作,因为当我点击配置菜单按钮的右半部分时,我可以访问文件或编辑菜单,如下图所示

enter image description here

将Qt设计器输出转换为python代码的代码是

call pyside-uic mainWindow.ui -o uiMainWindow.py
call pyside-rcc -o fittingRessources_rc.py pathtoressources\fittingRessources.qrc

我试图删除软件的图标。移动任务栏(在这种情况下,任务栏的按钮再次完全激活)。我试图删除任务栏的图标。没有什么区别。

如果有必要,我可以提供代码,但首先我想知道你们中是否有人遇到过这个问题?它是如何解决的?因为它似乎有点尴尬......

干杯

1 个答案:

答案 0 :(得分:0)

只有当我使用以下代码将某些停靠点添加到MainWindow时才会出现错误:

self.variablesDock = VariablesDock(self,self.dataCurve)

其中self是mainWindow。 VariablesDock类如下

class VariablesDock(QWidget):
'''
Allows to define variables
'''

def __init__(self, mainWindow, dataCurve):
    '''
    Constructor
    '''
    super(VariablesDock,self).__init__(mainWindow)

    self.mainWindow = mainWindow
    self.dataCurve = dataCurve

    self.variablesDockWidget  = QtGui.QDockWidget(mainWindow)
    ... skip some code ...
    self.variablesDockWidget.setWidget(self.dockWidgetContents)
    mainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.variablesDockWidget)
    self.variablesDockWidget.setWindowTitle("Variables")

如果我将行super(VariablesDock,self).__init__(mainWindow)更改为

super(VariablesDock,self).__init__(None)

错误消失了。

干杯