我有一个 MainUI
,其中有一些按钮、行编辑和复选框。我设置的大多数小部件都具有给定状态 - 例如默认情况下会选中所有复选框,并且所有行编辑字段的默认值为“1.0”。
目前我有一个名为“重置所有内容”的按钮。顾名思义,在这些复选框或行编辑字段中所做的任何更改都将恢复为选中状态,并且值为“1.0”。
我可以想到重置值的一种方法是创建一个函数,在该函数中我必须重新输入受影响的小部件的变量名称及其默认状态 - 这与我创建它们时所做的类似。但我认为这不是一个实用的方法。
我的问题是:存储默认值然后恢复它们的最佳方法是什么?
到目前为止,我已经创建了一个包含主用户界面创建的类:
class MainUI(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.setWindowTitle('UI MANAGER')
self.setModal(False)
self.init_main_ui()
self.resize(QtCore.QSize(600, 350))
# UI-Configurations
def init_main_ui(self):
self.check1 = QtGui.QCheckBox("chk_box1")
self.check2 = QtGui.QCheckBox("chk_box2")
self.check3 = QtGui.QCheckBox("chk_box3")
self.check1.setChecked(True)
self.check2.setChecked(True)
self.check3.setChecked(True)
self.max_label = QtGui.QLabel("MIN Val")
self.max_input = QtGui.QLineEdit("0.0")
self.min_label = QtGui.QLabel("MAX Val")
self.min_input = QtGui.QLineEdit("1.0")
...
最佳答案
最简单的方法是重构现有代码,以便通过单独的方法设置初始值:
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")
...
关于python - PyQt:初始化重置的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42638111/