关于Qt-designer,如何在函数外部输入?我该如何绘制出价值?

时间:2017-06-08 10:03:06

标签: python-3.x qt-designer

class MyWindow(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.btn1.clicked.connect(self.btn1_clicked)
        #self.btn1.clicked.connect(self.popup)
        self.setWindowTitle('WOD Program')


    layout = QHBoxLayout()
    muscles = ['Pectoralis', 'Deltoid', 'Biceps', 'Triceps', 'Latissius Dorsi', 
    'Lumbar Muscles', 'Quadriceps','Glutes', 'Abdominals']

        inputmuscles=[]

        self.checkBox_2.stateChanged.connect(lambda: self.btnstate(self.checkBox_2))
        self.checkBox_3.stateChanged.connect(lambda: self.btnstate(self.checkBox_3))
        self.checkBox_4.stateChanged.connect(lambda: self.btnstate(self.checkBox_4))
        self.checkBox_5.stateChanged.connect(lambda: self.btnstate(self.checkBox_5))
        self.checkBox_6.stateChanged.connect(lambda: self.btnstate(self.checkBox_6))
        self.checkBox_7.stateChanged.connect(lambda: self.btnstate(self.checkBox_7))
        self.checkBox_8.stateChanged.connect(lambda: self.btnstate(self.checkBox_8))
        self.checkBox_9.stateChanged.connect(lambda: self.btnstate(self.checkBox_9))
        self.checkBox_10.stateChanged.connect(lambda: self.btnstate(self.checkBox_10))


    def btnstate(self, b):
        muscles = ['Pectoralis', 'Deltoid', 'Biceps', 'Triceps', 'Latissius Dorsi', 'Lumbar Muscles', 'Quadriceps',
                   'Glutes', 'Abdominals']
        for i in muscles:
            if b.text() == i:
                if b.isChecked() == True:
                    preinputmuscles=i

    def get_muscles_selected(self):
        muscles_selected = []
        l = [self.checkBox_2, self.checkBox_3, self.checkBox_4, self.checkBox_5, self.checkBox_6, self.checkBox_7,
         self.checkBox_8, self.checkBox_9, self.checkBox_10]
        for e in l:
            if e.isChecked():
                muscles_selected.append(e.text())
        print(muscles_selected)
        return muscles_selected

    **inputmuscles = self.get_muscles_selected()????**

    WOD = []
    for i in inputmuscles:
        for key in muscleEngaged:
            if i in muscleEngaged[key]:
                WOD.append(key)
    WOD = list(set(WOD)) 

    def btn1_clicked(self):
        QMessageBox.about(self, "message", "Here are random exercises")

    def popup(self):
        self.dialog=myPopupDialog()
        self.dialog.exec_()



if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    app.exec_()

我希望在def btnstate之外获得输入。

我想得到一份空缺名单。 然后当我点击复选框时,我想附加我检查过的东西。 但我无法在函数btnstate中绘制出值。 请帮帮我。

我上传了所有代码。 由于我的第一次编码,它似乎凌乱,肮脏。 但我已准备好接受各种编辑和建议。

0 个答案:

没有答案