1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| import sys
from PyQt4 import QtGui, QtCore
class MaFenetre(QtGui.QMainWindow):
def __init__(self):
super(MaFenetre, self).__init__()
self.signalList=['Continuous','Ramp','Sine','Square','Triangular','Sawtooth']
self.initUI()
self.show()
def initUI(self):
#un menu bar
self.createMenuBar()
# corps de la fenetre
self.mainFrame()
def createMenuBar(self):
#definition du menu
self.monMenuBar=self.menuBar()
# Menu Signal
self.signal = QtGui.QMenu('Signal',self.monMenuBar)
self.allSignal = QtGui.QActionGroup(self.monMenuBar,exclusive=True)
self.dicoMenu={}
for eachSignal in self.signalList:
if eachSignal == 'Sine':
itemSignal=self.allSignal.addAction(QtGui.QAction(str(eachSignal),self.signal,checkable=True,checked=True))
else:
itemSignal=self.allSignal.addAction(QtGui.QAction(str(eachSignal),self.signal,checkable=True))
self.connect(itemSignal, QtCore.SIGNAL('triggered()'), self.connectMenuRadio)
self.dicoMenu[eachSignal]=itemSignal
self.signal.addAction(itemSignal)
self.monMenuBar.addMenu(self.signal)
def mainFrame(self):
self.main_frame = QtGui.QWidget()
self.listeVlayout=QtGui.QVBoxLayout()
number_group=QtGui.QButtonGroup(self.main_frame)
self.dicoRadio={}
for eachSignal in self.signalList:
self.bouttonListe=QtGui.QRadioButton(eachSignal)
self.dicoRadio[eachSignal]=self.bouttonListe
number_group.addButton(self.bouttonListe)
if eachSignal == 'Sine':
self.bouttonListe.setChecked(True)
self.listeVlayout.addWidget(self.bouttonListe)
self.bouttonListe.toggled.connect(self.connectRadioMenu)
self.main_frame.setLayout(self.listeVlayout)
self.setCentralWidget(self.main_frame)
self.main_frame.updateGeometry()
def connectMenuRadio(self):
print '++++++++++++++++++++++'
print '++++++++++++++++++++++'
print self.dicoMenu
for eachKey, eachValue in self.dicoMenu.iteritems():
if eachValue.isChecked():
print 'it is ', eachKey
test=self.dicoRadio[eachKey]
test.setChecked(True)
def connectRadioMenu(self):
print '======================'
print '======================'
print self.dicoRadio
for eachKey, eachValue in self.dicoRadio.iteritems():
if eachValue.isChecked():
print 'it is ', eachKey
test=self.dicoMenu[eachKey]
test.setChecked(True)
if __name__=='__main__':
app=QtGui.QApplication(sys.argv)
fenetre=MaFenetre()
sys.exit(app.exec_()) |
Partager