PyQt5. Меню приложения
self.menu = QMenu()
self.menu.show()
self.addDes = QAction('Открыть',self.menu)
self.menu.addAction(self.addDes)
Вот такой код не работает(остальная программа отображается и работает, но меню нету).
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
я очень надеюсь, что в следующих вопросах вы будете публиковать свои примеры, в которых возникают проблемы.
Вот один из вариантов, как это сделать правильно.
import sys
from PyQt5 import QtCore, QtWidgets
class Window(QtWidgets.QWidget):
def __init__(self):
super(Window, self).__init__()
menubar = QtWidgets.QMenuBar()
filemenu = menubar.addMenu('MENU')
filemenu.triggered.connect(self.actionClicked)
filemenu.addAction('Открыть')
filemenu.addAction('Option #2')
layout = QtWidgets.QGridLayout(self)
layout.addWidget(menubar)
@QtCore.pyqtSlot(QtWidgets.QAction)
def actionClicked(self, action):
print('Action: ', action.text())
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = Window()
w.setGeometry(600, 100, 300, 100)
w.show()
sys.exit(app.exec_())
