如何显示屏幕并运行一些“后台”任务(不带线程)

时间:2011-12-12 08:51:34

标签: qt event-handling qtgui

我正在尝试为触摸屏开发Qt应用程序;此应用程序在Qt Everywhere 4.7.2的ARM系统上运行。

在这个应用程序中,我需要显示一个特定的登录屏幕;然后用户按下“确定”按钮,我必须验证输入的信息是否正确。要做到这一点,我需要向我的服务器发送一条消息,同时这样做,我想显示一个等待屏幕。我已经有一些类允许我在屏幕之间切换,它可以工作。问题是:当我在显示请求之后放入一些代码时,它会被执行但屏幕不会显示!

一个例子:

display_->CloseActualScreen();
display_->SetScreenId( MTO_Display::WAITING_SCREEN );
display_->ChooseScreenToDisplay();

这基本上是我在屏幕之间切换的方式; display_是一个特定的对象。方法CloseActualScreen()通过删除其对象来关闭正在显示的屏幕。然后ChooseScreenToDisplay()根据屏幕ID创建并显示新的小部件。如果需要的话,我可以把这些方法的代码放进去,但如果我这样使用它们就可以了。

然后,如果我这样做:

display_->CloseActualScreen();
display_->SetScreenId( MTO_Display::WAITING_SCREEN );
display_->ChooseScreenToDisplay();
CallToAnotherFunction();

CallToAnotherFunction()执行得很好但是我的等待屏幕根本没有显示;我认为没有理由这样做!

你有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

Arg x)我在这里搜索了两天,在这里询问之后找到了解决方案... x)我需要使用QApplication::processEvents来处理所有事件,然后再执行其余的代码。