Ich versuche ein Element zur Anwendungsmenüleiste eines einfachen PyQt-Beispiels hinzuzufügen. Der folgende Code scheint jedoch die Menüleiste überhaupt nicht zu verändern. Der einzige Punkt im Menü ist "Python". Im Folgenden finden Sie den Großteil des Codes, abzüglich Import und Instanziierung.PyQt MenuBar MacOSX Snow Leopard
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(250, 150)
self.setWindowTitle('menubar')
self.modal = False
exit = QtGui.QAction(QtGui.QIcon('images/app_icon.png'), 'Exit', self)
exit.setShortcut('Ctrl+Q')
exit.setStatusTip('Exit application')
self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
menubar = self.menuBar()
file = menubar.addMenu('File')
file.addAction(exit)
Ich habe auch eine neue QMenuBar
und mit Hilfe der setMenuBar()
Methode versucht, die Erstellung manuell über die Menüleiste tauschen.
Irgendwelche eklatanten Fehler im obigen Ausschnitt?
Eine weitere Möglichkeit, die Menüleiste im Fenster setzen selbst wenn sys.platform ist == "Darwin": QtGui.qt_mac_set_native_menubar (False) – levis501
I PyQt4 Installation mit brauen, und die Verwendung dieses Codes zeigt meine Menüleiste immer noch nicht im Unified-Modus an. Ich kann die Menüleiste innerhalb des Hauptfensters der Anwendung anzeigen, nur indem ich 'self.menuBar.setNativeMenuBar (False)' setzt. Irgendein Vorschlag? – swdev
richtige Antwort ist durch tftdias unter –