有人可以帮我理解在Qt for Embedded Linux上运行多个QApplication
的问题是什么?请指出一些邮件列表线程的文档。
在浏览邮件列表中的一些邮件时,我看到一些评论说,在Qt中运行多个QApplication
不受设计支持,为什么需要它?我怎样才能更清楚地理解这一点?
但是,在阅读文档“Qt for Embedded Linux Architecture”时,我没有找到任何说明我们不应该同时运行多个QApplication
实例的内容。
我在嵌入式Linux平台(不是PC)上执行两个QApplication
,其中一个是全屏模式。处于fullScreen
模式的那个,即使收到mousePress
个事件,它也没有获得键盘焦点。如果在normalMode
中运行相同的应用,则会获得mousePress
事件,后跟focusInEvent`。
有人可以提供指针吗?
答案 0 :(得分:3)
您可以使用一个QApplication运行多个进程。
但是,对于嵌入式Linux的Qt,其中只有一个必须是QWS服务器。换句话说,您应该使用`-qws'开始第一个进程,而不使用。
开始所有其他进程答案 1 :(得分:2)
QApplication是一个单例类,所以它的“单一”设计。每个程序只能有一个QApplication对象。
但是在Qt中,使用可以并行运行的QApplication类的qt程序数量没有固有的限制。你可以同时使用qt(很可能是QApplication)有多个程序。
可能这在你的邮件列表中有些混乱。
答案 2 :(得分:0)
我的猜测是,一个QApplication会接受鼠标事件或键盘事件,因此另一个不会得到它。
对于哪个QApplication基于在单个进程中拥有如此多的QApplication而接受哪些事件,它可能有点随机。
我无法想象为什么在一个进程中需要多个QApplication的用例。你能扩展你想要做的事吗?