我一直在尝试为我正在开发的应用程序创建一个设置窗口,我想在设置窗口中填充一个配置文件(我稍后将写入该文件的答案)或系统默认值(如果配置文件不存在或无法打开)。在
我见过一些例子,在执行setupUi(self)
之后填充一些值,但是我有大约15-20个值,因此有两个巨大的if语句看起来很混乱。这是我当前的状态,我不知道如何让它调用我创建的函数getConfig
这是填充值的最佳方法吗?或者还有什么我应该试试的吗?在
class SettingsWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_SettingsWindow()
self.ui.setupUi(self)
self.ui.getConfig(self) #my problem is here
... #all the action bindings
def getConfig(self):
if not os.path.exists('app.config'):
self.ui.setDefaults(self) #fallback to defaults if no config file
with open('app.config') as f:
self.config = json.load(f)
... #bind all the default values
下面是一个使用字典存储小部件的示例-请参阅我的评论。 只有一个EditLine更新了,但是principal在那里(注意,标签也可以用同样的方式更新。在
如果您使用的小部件不是由setText()设置的或不是由text()检索的,那么代码就稍微复杂一些,可以使用各种方法来实现TextEdit、list、Combo等。在
相关问题 更多 >
编程相关推荐