0

我为长段道歉,但这是我可以解释这一点的唯一方法。

基本问题:如何让多个窗口共享一些 UI 功能,而不将它们全部放在一个大类中?

我的情况:我对包含多个窗口的应用程序的设计有疑问。窗口将共享 UI 上的几个组件(日期和时间、电池等)。每个窗口也将有很多自己的 ui 功能。我最初的想法是有单独的窗口,这样类就不会那么大,而且 ui 文件更容易查看。但是,我发现我为共享 ui 功能重复了代码,因为我必须在每个类中实现它。此外,我被迫在窗口之间建立许多连接,以确保在更改窗口时处理某些事情。

可能的解决方案:我读过 QStackedWidget 对多个窗口有好处,但一切都在一个类中。除非当然有一种方法可以处理主 ui 的子类中的一些 ui?不制作其他ui文件?

4

1 回答 1

1

我同意使用QStackedWidget. 我通常使用以下意识形态来设计我的应用程序:

  1. 每个窗口/屏幕都有自己的类。
  2. 如果存在重复的功能或代码,则该部分将获得自己的类(由每个窗口类继承)。
  3. QStackedWidget实现是在第一个类中编写的,该类main.cpp实例化对象并显示。
  4. 为了防止高内存使用,我实现了包含QStackedWidget动态创建窗口类并删除它们(根据需要)的类。这是可选的,将基于您的应用程序在您的设备上的性能。
于 2018-01-26T16:54:54.800 回答