Snow Leopard PyQt MenuBar Mac OSX

Я пытаюсь добавить объект к строке меню приложения простого примера 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() метод для ручной выгрузки строки меню.

Какие-либо явные ошибки в вышеупомянутом отрывке?

6
задан Aljaž Srebrnič 18 October 2016 в 15:10
поделиться

1 ответ

У меня не установлен 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

Надеюсь, это поможет!

3
ответ дан 8 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: