Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Refactor: settings persistence

未关闭
#113 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@C-Achard 已经在做这个了。

开始于 2026年8月14日。

评估

这个 Issue 还没有评估数据。

描述

config enhancement gui

Improve configuration persistence and recovery UX

Goal

Prevent loss of unsaved experiment settings while keeping portable configuration separate from QSettings UI preferences.
Unsaved changes should be persisted in a temp recovery JSON, which the user can access.
This is to prevent settings being buried in QSettings, and allow for better inspection.

Persist in the recovery JSON

Autosave the complete portable experiment configuration:

  • multi_camera
    • Camera list, including single-camera setups
    • Backend and device identity
    • Resolution, FPS, exposure, gain, crop, rotation
    • Trigger and backend-specific properties
  • dlc
    • Model path and type
    • Device, precision, resize, dynamic crop
    • Additional processor options
  • recording
    • Output directory
    • Filename and container
    • Codec and CRF
    • Fast encoding
  • bbox
  • visualization
  • Not part of the schema yet:
    • Selected inference camera
    • Selected processor and enabled state
Keep in QSettings
  • Last explicit configuration path
  • Recovery config JSON path and maybe metadata
  • Recent configuration paths
  • Last directory used by file dialogs
  • Window geometry, dock layout, and theme (maybe)
  • Session name
  • Timestamp-based versus indexed run folder preference (or according to Session scope rework)
  • Other local UI preferences
Recovery behavior
  • Autosave modified configuration to a readable temporary JSON file
  • Include:
    • Schema version
    • Autosave timestamp
    • Associated explicit configuration path
  • Never overwrite the user’s explicit JSON file automatically
  • On startup, load the last valid explicit configuration best-effort
    • If a newer or different recovery file exists, offer:
      • Restore recovered configuration
      • Use saved configuration
      • Save recovery as...
  • Provide a way to open the recovery JSON file location
Unsaved config changes UX

Track whether the current UI differs from the last explicit save.

Before closing, loading another configuration, or replacing the current setup, show a warning message.

Additional low-effort UX improvements
  • Add a Recent configurations menu
  • Improve Save As for duplicating an experiment configuration
  • Extra validation?
  • Later consider a Start experiment action that starts preview, initializes inference, and optionally begins recording in a single click
主要语言
Python
星标
72
派生
28
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

DeepLabCut/DeepLabCut-live-GUI 的其他 Issue

查看 DeepLabCut/DeepLabCut-live-GUI 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。