Я пытаюсь добавить объект к строке меню приложения простого примера PyQt. Однако следующий код, кажется, не изменяет строку меню вообще. Единственным объектом в меню является "Python". Ниже объем кода, минус импорт и инстанцирование.
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)
Я также попытался создать новое QMenuBar
и использование setMenuBar()
метод для ручной выгрузки строки меню.
Какие-либо явные ошибки в вышеупомянутом отрывке?
У меня не установлен PyQt на этом компьютере, чтобы проверить это, но я думаю, что на Mac QMainWindow.menuBar ()
не возвращает строку меню всего приложения.
Вы можете попробовать создать строку меню, например:
menubar = QtGui.MenuBar()
Я основываю это на документации для функции QMainWindow.menuBar ()
здесь:
http://doc.qt.io /qt-4.8/qmainwindow.html#menuBar
Вы также можете проверить раздел с меткой QMenuBar в Mac OS X на этой странице:
http://doc.qt.io/qt -4.8 / qmenubar.html # details
Надеюсь, это поможет!