Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt4 import QtGui, QtCore
- import sys
- class GUI:
- CHANNELS = [
- { "c": "channel 1", "g": "command" },
- { "c": "channel 2", "g": "command" },
- { "c": "channel N", "g": "general" }
- ]
- CHANNEL_NAME = "c"
- CHANNEL_GROUP = "g"
- class Handler(QtGui.QMainWindow):
- #button_map = QtCore.pyqtSignal()
- signalMapper = QtCore.QSignalMapper()
- def __init__(self):
- super(Handler,self).__init__()
- self.setupGui()
- self.generate_channels()
- def setupGui(self):
- w = QtGui.QWidget(self)
- layout = QtGui.QHBoxLayout(w)
- self.commandLayout = QtGui.QVBoxLayout()
- self.generalLayout = QtGui.QVBoxLayout()
- layout.addLayout(self.commandLayout)
- layout.addLayout(self.generalLayout)
- self.setCentralWidget(w)
- def generate_channels(self):
- for i in range(0,len(GUI.CHANNELS)):
- self.button = QtGui.QPushButton(GUI.CHANNELS[i][GUI.CHANNEL_NAME])
- self.signalMapper.setMapping(self.button, GUI.CHANNELS[i][GUI.CHANNEL_NAME])
- self.button.clicked.connect(self.signalMapper.map)
- if GUI.CHANNELS[i][GUI.CHANNEL_GROUP] == "command":
- self.commandLayout.addWidget(self.button)
- elif GUI.CHANNELS[i][GUI.CHANNEL_GROUP] == "general":
- self.generalLayout.addWidget(self.button)
- #self.signalMapper.mapped.connect(self.button_map)
- #self.button_map.connect(self.channel_clicked)
- self.signalMapper.mapped[str].connect(self.channel_clicked)
- # /\ -- connecting overloaded signals
- def channel_clicked(self, channel):
- print("I got here!")
- print(channel)
- app = QtGui.QApplication(sys.argv)
- h = Handler()
- h.show()
- app.exec_()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement