菜单b上的PySide GUI非活动区域

2024-04-23 18:31:22 发布

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

我在PySide编写GUI已经有几个月了。这个软件一半是使用Qt设计器开发的,一半是硬编码的。它是一个主窗口软件,带有一个中心小部件和许多停靠点。你知道吗

最近我意识到菜单栏(和任务栏的一小部分)有一个“非活动”区域,即鼠标不能直接访问菜单。该区域在图片中以绿色突出显示。你知道吗

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

我试图删除软图标。移动任务栏(在这种情况下,任务栏的按钮将再次完全激活)。我试图删除任务栏的图标。什么都没有改变。你知道吗

我可以提供必要的代码,但首先我想知道你们中是否有人已经遇到这个问题?它是怎么解决的?因为它看起来有点偏僻。。。你知道吗

干杯


Tags: 代码py区域编码软件菜单guicall
1条回答
网友
1楼 · 发布于 2024-04-23 18:31:22

仅当我使用以下代码向主窗口添加某些停靠时,错误才会出现:

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

其中self是主窗口。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)

错误消失了。你知道吗

干杯

相关问题 更多 >