首页 > 解决方案 > 如何重置 TraitsUI python 应用程序?

问题描述

我正在开发一个执行各种计算的 Python 程序。需要输入许多不同的参数,记住您对不同输入所做的更改可能会让人感到困惑。我想要一个将所有内容重置为默认值的按钮,所以基本上就像重新启动它一样,但实际上并没有关闭它/需要再次运行它。我使用 TraitsUI 来设计 GUI。我该如何实现呢?我在 TraitsUI 用户手册上看到有一个重置命令:

    reset(destroy=True)
    "Resets the contents of a user interface"

,但我实际上不知道如何以及在哪里使用它。

这是我的代码从头到尾如何格式化的快速概述。

    import os
    os.environ['ETS_TOOLKIT'] = 'qt4'
    os.environ['QT_API'] = 'pyqt'
    from traits.api import HasTraits, Range, ...
    ...
    class class1(HasTraits)
    ...
    class class10(HasTraits)
    mrm = class10()
    mrm.configure_traits(kind='livemodal')

我已经看过这个这个,但它们要么不起作用,要么我只是不知道在我的程序布局中正确实现它们。期待任何建议/帮助。

标签: pythonpyqt4traitsui

解决方案


我刚读到这个,但看看reset_traits()

尝试在 GUI 中添加一个“刷新”按钮

def _refresh_fired(self):
    self.reset_traits()

这将重置您班级中的所有特征。如果您想重置某些特征,请传递一个字符串列表。

self.reset_traits(['trait1', 'trait2'])

推荐阅读