我试着找出在哪个C ++ GUI工具包(+ stdlib + libc)中最容易在普通的命令行应用程序中实现这样一个有用的函数:
void ShowStringWindow(string& s) {
// ...
}
ShowStringWindow应该显示一个窗口,其中包含一个包含字符串s的可编辑框 它应该立即返回,因此主线程可以继续。
注意:
我会非常感谢有效的代码,但这并不是必须有用的。
答案 0 :(得分:1)
要使用Qt执行此操作,您需要:
“exec”函数返回后,您需要:
有几种方法可以从主线程更新数据 一种方法是使用具有排队连接类型的信号/插槽。使用此,UI线程更新值。缓解对主线程的影响。但请注意,如果值更新速率太高,例如每秒2000次,则可能需要更改为轮询值。为此,您可能会发现QTimer很有帮助。
将数据更新到主线程应该更容易,只需锁定互斥锁并插入值即可。此时,您可以检查我们之前从主线程获得的值是否仍然是主线程中的当前值。你确实声明它没有改变,但我不相信:)
我希望这已经足够了。我们使用它来为控制台程序创建一个基于Qt的错误对话框。