PyQt:初始化重置的默认值

时间:2017-03-07 00:32:21

标签: python pyqt initialization pyqt4 default

我有一个T,它有几个按钮,行编辑和复选框。我在给定状态下设置的大多数小部件 - 例如默认情况下会选中所有复选框,并且所有行编辑字段的默认值均为“1.0”。

目前我有一个名为“重置所有内容”的按钮。顾名思义,这些复选框或行编辑字段中所做的任何更改都将被还原以进行检查,其值为“1.0”。

我可以想到重置值的一种方法是创建一个函数,我必须重新键入受影响的小部件的变量名称及其默认状态 - 这与我创建它们时所做的类似。但我不认为这是一种实用的方法。

我的问题是:我存储默认值然后还原它们的最佳方法是什么?

到目前为止,我已经创建了一个包含主ui创建的类:

MainUI

1 个答案:

答案 0 :(得分:1)

最简单的方法是重构现有代码,以便通过单独的方法设置初始值:

class MainUI(QtGui.QDialog):
    ...

    def init_main_ui(self):
        self.check1 = QtGui.QCheckBox("chk_box1")
        self.check2 = QtGui.QCheckBox("chk_box2")
        self.check3 = QtGui.QCheckBox("chk_box3")
        self.max_label = QtGui.QLabel("MIN Val")
        self.max_input = QtGui.QLineEdit()
        self.min_label = QtGui.QLabel("MAX Val")
        self.min_input = QtGui.QLineEdit()
        ...
        self.reset_main_ui()        

    def reset_main_ui(self):
        self.check1.setChecked(True)
        self.check2.setChecked(True)
        self.check3.setChecked(True)
        self.max_input.setText("0.0")
        self.min_input.setText("1.0")
        ...