2012-02-14 42 views
3

我試圖用PySide創建一個菜單。這是代碼由於命名,MacOSX上的PySide和menuBar沒有顯示任何菜單條目

def _createMenus(self): 
    self._menuBar = QtGui.QMenuBar() 
    self.setMenuBar(self._menuBar) 
    self._helpMenu = self._menuBar.addMenu("Help") 

    self._aboutAction = QtGui.QAction("About", self, statusTip="About", triggered=self._about) 
    self._helpMenu.addAction(self._aboutAction) 

此代碼不顯示除「python」條目外的菜單欄中的任何內容。 奇怪的是,如果我在「Aout」中更改「About」,它會顯示菜單。是否有一些平臺相關的古怪我應該知道?

+0

我在Windows XP上,一切工作正常。可能是一個平臺的事情。我知道這可能是一個愚蠢的問題,但你確定你的部件是'QMainWindow'而不是'QWidget'? – Jeff 2012-02-14 18:54:50

+0

@Jeff:這是一個QMainWindow。不過,我對這個問題的起源有懷疑。我留下了一些時間來回答問題,如果沒有問題,我會探討細節並回答自己。 – 2012-02-14 18:57:32

回答

3

根據操作的文本和/或menuRole屬性(有關詳細信息,請參閱QMenuBar on Mac OS X),Mac OS X上的菜單項可由Qt自動移至系統範圍的菜單欄。

所以你的「關於」菜單項應該是應用程序菜單中的第一項。

相關問題