在Qt窗口的菜单栏中单击Python和File,windows不在M上工作

2024-06-16 11:08:59 发布

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

我有一个问题,在Mac操作系统上,当我试图点击我的菜单栏,什么都没有发生。 我有两个菜单命名文件和加载/保存,但当我点击这些子菜单不显示。 尽管它可以在windows和linux操作系统上工作。所以我怀疑一定要为MAC做点什么,但我不明白什么? 即使点击“python”按钮也不会做任何事情

下面是一个截图,以便更好地理解我的意思: [![在此处输入图像描述][1]][1]

这里是柔软的开始:

class SurfViewer(QMainWindow):
    def __init__(self, parent=None):
        super(SurfViewer, self).__init__()
        self.parent = parent

        ############variable utiles###########
        self.height_per_line = 20
        self.height_add = 30
        self.width_per_col =155
        self.List_Stim = []
        self.NewStim = None
        self.List_ParamEvol = []
        self.NewParamEvol = None
        #######################################
        #######################################

        self.centralWidget = QWidget()
        self.color = self.centralWidget.palette().color(QPalette.Background) 


        # toolbarmenu
        extractAction = QAction("ScreenShot", self)
        extractAction.triggered.connect(self.screenshot)

        extractLoadmodelparam = QAction("Load Model parameters", self)
        extractSavemodelparam = QAction("Save Model parameters", self)
        extractLoadStimparam = QAction("Load Stimulation parameters", self)
        extractSaveStimparam = QAction("Save Stimulation parameters", self)
        extractLoadparamEvol = QAction("Load parameters evolution", self)
        extractSaveparamEvol = QAction("Save parameters evolution", self)
        self.extractLoadResult = QAction("Load Result signals", self)
        self.extractLoadResult.setEnabled(True)
        self.extractSaveResult = QAction("Save Result signals", self)
        self.extractSaveResult.setEnabled(False)

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(extractAction)
        fileLoad = menubar.addMenu('&Load/Save')
        fileLoad.addAction(extractSavemodelparam)
        fileLoad.addAction(extractLoadmodelparam)
        fileLoad.addAction(extractSaveStimparam)
        fileLoad.addAction(extractLoadStimparam)
        fileLoad.addAction(extractSaveparamEvol)
        fileLoad.addAction(extractLoadparamEvol)
        fileLoad.addAction(self.extractSaveResult)
        fileLoad.addAction(self.extractLoadResult)

        # set Tabs
        self.centralTabs= QTabWidget()
        self.setCentralWidget(self.centralTabs)

。。。。之后还有别的东西


Tags: selfnonesave菜单loadparentparametersaddaction
1条回答
网友
1楼 · 发布于 2024-06-16 11:08:59

我终于找到了解决办法。 显然,他们的问题在于macos如何处理menubar。所以我在代码中将setNativMenuBar设置为false:

menubar.setNativeMenuBar(False)

这样,菜单栏仍然在窗口中(窗口的左上角),而不是在屏幕的顶部(与软件窗口本身分离)

相关问题 更多 >