如何知道setupUi是否已被调用
How to know if setupUi has already been called
我需要知道一个小部件是否已经收到setupUi
"祝福",以及它是否已经构建了所有的子小部件。
有办法吗?或者我应该在代码中跟踪以前是否已经这样做过?感谢
您可以自己跟踪它,可以使用在调用函数之前检查的某种全局变量,也可以通过函数内部的局部静态变量。或者您可以使用std::call_once
,它将为您处理检查。
您需要清空小部件吗
如果没有,您可以延迟它的创建,并始终在创建对象的同时调用setupUi
,然后您可以检查指针是否已设置。
MyClass::MyClass() : m_ui(nullptr)
{}
MyClass::initialize()
{
if (m_ui == nullptr)
{
m_ui = new UiClass;
m_ui->setupUi(this);
}
// ...
}
这取决于您的用例,取决于您需要知道是否调用了setupUi的原因/时间。
相关文章:
- 返回指向对象的指针的函数调用是否为 prvalue?
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- 在 v8 JavaScript 中重复调用C++是否有巨大的开销?
- dynamic_cast每次调用是否比具有空检查的缓存变量更昂贵?
- 对外部函数的调用是否强制从内存加载
- clang 拒绝具有尾随 decltype 返回类型的模板调用是否正确,具体取决于其重载之一?
- 构造函数的初始值设定项列表中的函数调用是否按顺序排序?
- 从 std::d eque 线程对 emplace_back() 和运算符 []() 的并发调用是否安全?
- 函数调用是否作为另一个函数参数遵循任何定义的行为
- 汇编函数调用是否会导致所有寄存器被推送到堆栈中
- 来自另一个线程的 SendMessage() 调用是否将消息发布到消息队列
- Inotify和Select调用是否可以合并
- 函数调用是否需要表达式
- 对 std 构造函数的调用是否需要限定
- 此构造函数调用是否具有特殊名称
- 将 delete 作为运算符或函数调用是否有任何区别
- 使用 COM 跨 CRT 边界调用是否安全
- 是否有一种方法可以使用SFINAE来确定对模板化函数的调用是否会由于所提供的类型而失败
- 类方法调用是否会在for循环中进行优化
- 对运算符的调用是否'delete'同步的?