Форум сайта python.su
Люди, нужна помощь. Имеется вот данный код. Мне нужно сделать так, чтобы я смог присваивать этим чекбоксам какое - нибудь число. (Пример: Пункт1=0.023, Пункт2=0.6,Пункт3=… и т.п) После того, как я выделяю эти чекбоксы (как 1 так и несколько), мне программа бы высчитывала число по формуле, которую я укажу в ней.
import sys from PyQt4 import QtGui class Base(QtGui.QWidget): def __init__(self): super(Base, self).__init__() self.startUW() def startUW(self): self.vbox = QtGui.QVBoxLayout() self.checkboxItem() self.vbox.addStretch(1) button = QtGui.QPushButton("Show", self) button.clicked.connect(self.showItem) self.lab = QtGui.QLabel("Ничего не выбрано!", self) self.vbox.addWidget(button, 3) self.vbox.addWidget(self.lab, 4) self.setWindowTitle("Select Item Printer") self.setFixedSize(400, 400) self.setLayout(self.vbox) self.show() def checkboxItem(self): array = ["Пунтк 1", "Пункт 2", "Пункт 3", "Пункт 4"] self.check = [] index = 0 for item_name in array: self.check.append(QtGui.QCheckBox(item_name, self)) self.vbox.addWidget(self.check[index], index) index += 1 def showItem(self): lib = "" index = 0 while index != 4: if self.check[index].isChecked(): lib = lib + " " + self.check[index].text() index += 1 else: index += 1 self.lab.setText(lib) def main(): app = QtGui.QApplication(sys.argv) gui = Base() sys.exit(app.exec_()) if __name__ == "__main__": main()
Отредактировано ashimano (Янв. 16, 2017 18:22:42)
Офлайн
def showItem(self): values = [1,2,3,4] sum_of_values = 0 index = 0 while index != 4: if self.check[index].isChecked(): sum_of_values += values[index] index += 1 else: index += 1 self.lab.setText(str(sum_of_values))
Офлайн