You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-utils-3-console-gui/api/gui/leftmenu.py

78 lines
2.3 KiB

# -*- 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)