2012-04-29 11 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

आप 'क्यूमेनू' चेक करने योग्य या क्रियाएं बनाना चाहते हैं? 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_() 

या witht रेडियो बटन:

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.addAction (myaction)' और अंततः 'myaction.is चेक()' का उपयोग कर सकते हैं चेक स्थिति। –

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_() 
संबंधित मुद्दे