QT:我如何在所有.ui共享相同的对象
QT: How do I share same object in all .ui
我是新的QT,这可能是(我希望)容易解决,但我真的不知道如何做到这一点。
我的程序很简单,主窗口有几个按钮,但我的问题是:
在main.cpp中,我从文件加载列表并将其保存在指针中(例如:listPointer),我需要访问信息,从许多不同的。ui和。cpp列表(我的意思是,Qt类表单包,.ui .h .cpp)。
我不知道哪一种方法做这件事是最好的。在mainwindow.h中,我添加了一个列表指针来获取引用,并在。cpp中通过此->listPointer访问它,这是有效的,但是当我尝试从其他Qt类(例如:Search.cpp)访问它时,我的应用程序只是崩溃,显然是因为我试图访问错误的内存块。所以我的问题是,我如何分享这个列表到所有的QT对象。
我希望你能理解我的问题,英语不是我的母语,所以也许你不懂。
如果你的主窗口在应用程序的整个生命周期中都存在,并且你只需要一个主窗口实例,你可以简单地将你的主窗口类设置为单例。你可以把列表指针作为主窗口的成员,并给它添加一个getter方法。
然后你可以从你的应用程序的任何地方访问你的列表,像这样
QList<String>* list = MyMainWindow::getInstance()->getList();
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 在cuda线程之间共享大量常量数据
- 如何在MS Visual Studio 2019中运行QT UI
- 如何从具有移动语义的类对象中生成共享指针
- 在c代码之间共享数据的最佳方式
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 将静态库链接到不带-fPIC的共享库中
- 如何处理使用.ui文件生成的.h文件
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 使用Boost Interprocess创建托管共享内存需要很长时间
- 无法在Ubuntu上将共享库与Eclipse链接
- 从python调用openMP共享库时,未定义opnMP函数
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 根据变量使Qt UI中的复选框为已选中/未选中
- 为什么我的共享库中存在展开符号
- 使用共享指针的函数调用,其对象应为 const
- 具有两个独占锁组的共享锁
- 共享队列的线程安全
- QT:我如何在所有.ui共享相同的对象