我可以允许从Qt中的任何地方打开窗口吗?
Can I allow opening windows from everywhere in Qt?
我有以下情况,我想显示一些小部件。
我的主要窗口主要是文本编辑器。
我有一个名为"运行"的操作,它解释文本并执行某些操作。
可能的结果之一是需要打开一个窗口。它可以工作,但窗口仅在run
函数(我作为插槽)返回后显示。
我必须打开一个窗口的另一种情况是,我想成为同一个解释器从控制台输入运行的解释器。但是在这种情况下打开窗口会导致以下错误:
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0xee2d90), parent's thread is QThread(0xda53b0), current thread is QThread(0x7f2178004000)
QObject::installEventFilter(): Cannot filter events for objects in a different thread.
我该怎么做才能以某种方式"集中"窗口操作,以免发生这种情况?
所有 GUI 对象都将在主线程中创建。您可以使用静态方法QApplication::topLevelWidgets()从代码中的任何位置访问QMainWindow
实例
相关文章:
- 嵌入方指针压缩已禁用
- 是否基于数组B整数打印数组A中的整数
- 为什么是谷神星协方差.计算()似乎永远运行而不返回?
- 如何打印数组对角线的一侧
- 从类型std::函数传递变量失败,尽管调用方期望的类型完全相同
- 将错误返回给调用方而不是立即在 C++ 中抛出错误是否是一种好的做法
- 使 \page 和 \subpage 参考 doxygen 中的方法文档
- Qt:如何使不兼容的发送方/接收方参数兼容?
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- 为什么需要返回指针来利用协方差?
- 调用方如何知道 VARIANT 中何时有十进制?
- 为什么平均打印数组元素比打印单个对象慢C++?
- 是否有通用方法可以找到任何以 null 结尾的字符串的长度?
- 从返回 std::optional of std::vector 的函数中获取结果到调用方
- "co_yield"是否可以在恢复协程时从调用方返回值?
- 以相反的顺序打印数组 - 为什么这在C++中是错误的?
- arr[n] 是否以 C++ 为单位打印数组的长度?
- 如何使用从处理程序调度的最终回调将响应异步返回给调用方on_read?
- 我有一个应该打印数组的函数,但由于某种原因它不起作用
- 为什么当数组作为调用方函数中的参数传递时,不能在被调用函数中使用 foreach 循环打印数组的值