Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Building DotScramble Part 4: A New UI in One Stylesheet, 7 Languages With Real Plurals, and the Bugs Only a Clean Machine Found

说明与用途

DotScramble 1.5 实现了统一样式、扩展语言支持并改进了用户交互,解决了主题和窗口问题。

问题

The DotScramble 1.4 UI was fragmented, with colors and fonts set in Python, making theme changes cumbersome and inconsistent across widgets.

结果

DotScramble 1.5 achieved a unified, theme‑driven UI, expanded language support, improved privacy guarantees, and resolved packaging bugs uncovered by a clean build machine.

工作流

  • 1. Define a token-based QSS template with placeholders for theme colors and opacity.
  • 2. Store theme definitions in themes.json and use a regex to replace tokens with actual values.
  • 3. Expose widget hooks (objectName, variant, role) to allow styling via the stylesheet.
  • 4. Refactor UI components to remove inline styling and rely on the stylesheet.
  • 5. Implement a canvas with Detect preview and Compare features for better user interaction.
  • 6. Fix window tiling by adjusting toolbar size policy and adding an event filter to switch to icon-only mode when space is limited.
  • 7. Add support for seven languages with correct CLDR plural forms.
  • 8. Ensure the privacy tool never fails silently and integrate CI with GitHub Actions for builds, tests, and signing.

证据

widgets never set a color or a font in Python.

来源

The rule I set: widgets never set a color or a font in Python.

来源

The old preview was a scaled label. The new canvas has mouse-wheel zoom around the cursor, pan, fit / 100 %, and two features that change how the app feels: Detect preview and Compare.

来源

The toolbar no longer reports a minimum width (QSizePolicy.Policy.Ignored), and an event filter switches it to icon-only buttons when there isn't room for the labels.

来源

  • 记录日期: 2026-11-02T20:14:12.936Z