# -*- coding: utf-8 -*- from PySide import QtGui, QtCore from PySide.QtCore import SIGNAL class ButtonMap (QtGui.QPushButton): name = "" def __init__ (self, s, parent=None): self.name = s super(ButtonMap, self).__init__(s, parent) # QtGui.QPushButton.__init__(self, str) # self.buttonclick = QtCore.Signal(str) # self.connect(self, SIGNAL("clicked()"), self.buttonclick) self.clicked.connect(self.buttonclick) but_click = QtCore.Signal(str) def buttonclick(self): self.but_click.emit(self.name) class left_menu(QtGui.QWidget): def __init__(self, parent): super(left_menu, self).__init__() self.lbl = QtGui.QLabel("Welcome \n to \nCalculate", self) self.lbl.move(30, 30) self.setGeometry(0, 0, 150, 180) self.show() def initUI(self, results): self.lbl.hide() RES = 0 # Access to result COM = 0 # Getting command line METH = 1 # Getting method line self.lable_list = [] self.button_list = [] self.layout = QtGui.QVBoxLayout() for num in range (0, len(results)): self.lable_list.append(QtGui.QLabel('-- '+results[num][RES][COM], self)) button_text = results[num][RES][METH] Button = ButtonMap(button_text) Button.but_click.connect(self.onActivated) self.button_list.append(Button) self.layout.addWidget(self.lable_list[num]) self.layout.addWidget(self.button_list[num]) self.setLayout(self.layout) self.show() def refresh(self, results): self.initUI(results) def onActivated(self, text): print text class LeftMenu(QtGui.QFrame): def __init__(self, parent, ClientObj): QtGui.QFrame.__init__(self) # верхнее левое меню # topleft = QtGui.QFrame(self) # self.setFrameShape(QtGui.QFrame.NoFrame) self.menu = left_menu(self) self.scrollArea1 = QtGui.QScrollArea() self.scrollArea1.setWidget(self.menu) tempbox = QtGui.QHBoxLayout(self) tempbox.addWidget(self.scrollArea1) self.setLayout(tempbox) # self.resize(100,900)