2012-04-29 3 views
11

내 qmenu를 검사 가능하게 만들 수 있습니까? 이 같은qmenu 항목 확인 방법 pyqt4 python

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_() 
+0

'QMenu'를 체크 할 수 있도록 하시겠습니까? AFAIK,'QMenu'는 확인할 수 없습니다. – Avaris

+0

@Avaris 예 확인 가능한 작업을 원합니다. – unice

답변

21

:

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_() 
+0

모든 샘플 답변을 주셔서 대단히 감사드립니다. 그게 내 문제를 해결해 줬어. :) – unice

+3

나는'myaction = QtGui.QAction ('50 % ', menu, checkable = True)','menu.addAction (myaction)'그리고 결국'myaction.isChecked()'를 사용하여 체크 상태. –

0

:

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_()