Как я могу сделать свой qmenu доступным?
from PyQt4 import QtGui
app = QtGui.QApplication([])
menu = QtGui.QMenu()
menu.addAction('50%')
menu.addAction('100%')
menu.addAction('200%')
menu.addAction('400%')
menu.show()
app.exec_()
Как я могу сделать свой qmenu доступным?
from PyQt4 import QtGui
app = QtGui.QApplication([])
menu = QtGui.QMenu()
menu.addAction('50%')
menu.addAction('100%')
menu.addAction('200%')
menu.addAction('400%')
menu.show()
app.exec_()
вот так:
from PyQt4 import QtGui
app = QtGui.QApplication([])
w = QtGui.QMainWindow()
menu = QtGui.QMenu("menu", w)
menu.addAction(QtGui.QAction('50%', menu, checkable=True))
menu.addAction(QtGui.QAction('100%', menu, checkable=True))
menu.addAction(QtGui.QAction('200%', menu, checkable=True))
menu.addAction(QtGui.QAction('300%', menu, checkable=True))
menu.addAction(QtGui.QAction('400%', menu, checkable=True))
w.menuBar().addMenu(menu)
w.show()
app.exec_()
или с помощью переключателей:
from PyQt4 import QtGui
app = QtGui.QApplication([])
w = QtGui.QMainWindow()
menu = QtGui.QMenu("menu", w)
ag = QtGui.QActionGroup(w, exclusive=True)
a = ag.addAction(QtGui.QAction('50%', w, checkable=True))
menu.addAction(a)
a = ag.addAction(QtGui.QAction('100%', w, checkable=True))
menu.addAction(a)
a = ag.addAction(QtGui.QAction('200%', w, checkable=True))
menu.addAction(a)
a = ag.addAction(QtGui.QAction('300%', w, checkable=True))
menu.addAction(a)
a = ag.addAction(QtGui.QAction('400%', w, checkable=True))
menu.addAction(a)
w.menuBar().addMenu(menu)
w.show()
app.exec_()
Я предлагаю добавить несколько строк в компактное первое решение, чтобы показать фактическое использование кнопок:
from PyQt4 import QtGui, QtCore
def isChecked():
""" Prints selected menu labels. """
[print(action.text()) for action in menu.actions() if action.isChecked()]
app = QtGui.QApplication([])
w = QtGui.QMainWindow()
menu = QtGui.QMenu("menu", w)
menu.addAction(QtGui.QAction('50%', menu, checkable=True))
menu.addAction(QtGui.QAction('100%', menu, checkable=True))
menu.addAction(QtGui.QAction('200%', menu, checkable=True))
menu.addAction(QtGui.QAction('400%', menu, checkable=True))
menu.triggered.connect(isChecked)
w.menuBar().addMenu(menu)
w.show()
app.exec_()