Qt Multiple window 设计
Qt Multiple window design
我为较长的段落表示歉意,但这是我解释这一点的唯一方式。
基本问题:
我如何让多个 windows 共享一些 UI 功能,而不是将所有功能都集中在一个巨大的 class 中?
我的情况:
我对包含多个 windows 的应用程序的设计有疑问。 windows 将共享 UI 上的几个组件(日期和时间、电池等)。每个 window 也将拥有许多自己的 ui 功能。我最初的想法是将 windows 分开,这样 class 就不会那么大,并且 ui 文件更容易查看。但是,我发现我重复了共享 ui 功能的代码,因为我必须在每个 class 中实现它。此外,我被迫在 windows 之间建立许多连接,以确保在更改 windows 时处理某些事情。
可能的解决方案:
我读过 QStackedWidget 适合多个 windows,但所有内容都将在一个 class 中。当然,除非有一种方法可以处理主 ui 的子 class 中的某些 ui?不制作其他 ui 文件?
我同意使用 QStackedWidget
。我通常使用以下思想设计我的应用程序:
- 每个 window/screen 都有自己的 class。
- 如果有重复的功能或代码,该部分将获得自己的 class(由每个 window classes 继承)。
QStackedWidget
实现写在第一个 class 中,main.cpp
实例化对象并显示。
- 为了防止高内存使用率,我实现了包含
QStackedWidget
的 class 以动态创建 window classes 并删除它们(根据需要)。这是可选的,将取决于您的应用程序在您的设备上的性能。
我为较长的段落表示歉意,但这是我解释这一点的唯一方式。
基本问题: 我如何让多个 windows 共享一些 UI 功能,而不是将所有功能都集中在一个巨大的 class 中?
我的情况: 我对包含多个 windows 的应用程序的设计有疑问。 windows 将共享 UI 上的几个组件(日期和时间、电池等)。每个 window 也将拥有许多自己的 ui 功能。我最初的想法是将 windows 分开,这样 class 就不会那么大,并且 ui 文件更容易查看。但是,我发现我重复了共享 ui 功能的代码,因为我必须在每个 class 中实现它。此外,我被迫在 windows 之间建立许多连接,以确保在更改 windows 时处理某些事情。
可能的解决方案: 我读过 QStackedWidget 适合多个 windows,但所有内容都将在一个 class 中。当然,除非有一种方法可以处理主 ui 的子 class 中的某些 ui?不制作其他 ui 文件?
我同意使用 QStackedWidget
。我通常使用以下思想设计我的应用程序:
- 每个 window/screen 都有自己的 class。
- 如果有重复的功能或代码,该部分将获得自己的 class(由每个 window classes 继承)。
QStackedWidget
实现写在第一个 class 中,main.cpp
实例化对象并显示。- 为了防止高内存使用率,我实现了包含
QStackedWidget
的 class 以动态创建 window classes 并删除它们(根据需要)。这是可选的,将取决于您的应用程序在您的设备上的性能。