gpt4 book ai didi

c++ - Qt多窗口设计

转载 作者:行者123 更新时间:2023-11-28 04:49:50 25 4
gpt4 key购买 nike

我为较长的段落表示歉意,但这是我解释这一点的唯一方式。

基本问题:如何让多个窗口共享一些 UI 功能,而不是将所有功能都放在一个巨大的类中?

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

可能的解决方案:我读过 QStackedWidget 适用于多个窗口,但所有内容都在一个类中。当然,除非有一种方法可以在主用户界面的子类中处理某些用户界面?不制作其他ui文件?

最佳答案

我同意使用 QStackedWidget。我通常使用以下思想设计我的应用程序:

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

关于c++ - Qt多窗口设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com