【问题标题】:Save current state of entire GUI in Qt?在 Qt 中保存整个 GUI 的当前状态?
【发布时间】:2011-12-19 15:17:08
【问题描述】:

我有一个用 Qt 编写的应用程序,其中包含许多小部件,包括列表、表格、树、行编辑等。当用户在应用程序中进行时,他们可能需要保存当前状态、离开并稍后返回接他们离开的地方。我没有与 GUI 分开的数据(所有数据都存储在小部件本身中)。我找到了一种遍历所有小部件并保存当前状态的方法,但这需要大量时间。是否有更快或内置的方式来保存 GUI 的当前状态?由于可用时间有限,我试图避免重写代码以获得仅由 GUI 表示的数据模型。

【问题讨论】:

    标签: qt user-interface


    【解决方案1】:

    Qt's session management 是你要找的吗?

    【讨论】:

    • 我认为会话管理在这方面没有帮助,因为它只告诉您何时保存状态,但不会为您进行保存和恢复,而 OP 想要一种方法用于自动保存整个状态(恕我直言,这是不可能的)。
    【解决方案2】:

    您可以在实际更改时保存每个参数,或者在用户离开页面时保存,而不是在退出时保存。 不要尝试保存每个小部件的每个参数,使用更智能的算法

    【讨论】:

      【解决方案3】:

      作为一种很好的跨平台和灵活的保存 GUI 状态的方法是使用 Qt 的机制 -- QSettings (official documentation)。

      但是,真的,有重写的时刻,这是你无法避免的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-24
        • 1970-01-01
        • 2013-09-04
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多