• 6177阅读
  • 6回复

请问各位大侠,关于Qt弹出窗口问题。 [复制链接]

上一主题 下一主题
离线smog2008
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-19
请问各位大侠,关于Qt弹出窗口问题。
— 本帖被 XChinux 执行加亮操作(2008-11-24) —
    在Linux环境下, 我用Qt2.3.7的QMainWindow 类生成一个主窗口,利用Linux的线程发送消息,触发一个QProgressDialog弹出窗口。出现以下现象:
  1.收到消息后,QProgressDialog窗口并没有弹出,但只要动一动鼠标,QProgressDialog窗口就出现了。
  2.如果QMainWindow 主窗口中有QLineEdit或QMultiEdit类生成的编辑框,并在收到消息前,用鼠标先点击可编辑区,之后,就能随时显示QProgressDialog弹出窗口。
  请问各位大侠,这是什么原因?怎么能能随时显示QProgressDialog弹出窗口?
离线marslee_suc
只看该作者 1楼 发表于: 2008-11-19
你设置一下qprogressdialog的windowflags看看是否有效setWindowFlags()
我用的QT4没有出现你说的这个问题
离线vrcats
只看该作者 2楼 发表于: 2008-11-20
可能是你的窗口没有获得处理event loop的机会,所以未能及时处理消息。试试看在linux线程里wait一下。
离线smog2008

只看该作者 3楼 发表于: 2008-11-21
首先谢谢楼上两位。
  1.WFlags设置后结果是一样的。
  2.应该不是消息问题,因为消息确实已经收到。

  还有其他原因吗?象楼上的给个提示也行啊!已经困扰我很长时间了。
离线litao422
只看该作者 4楼 发表于: 2008-11-22
抱着试试看的心情,在弹出之前,加下这句。
qApp-> processEvents();
离线lazybone
只看该作者 5楼 发表于: 2008-11-22
又是这个万能语句 呵呵
离线smog2008

只看该作者 6楼 发表于: 2008-11-24
用了4楼的方法,还是不行啊。
还有其他办法吗?
快速回复
限100 字节
 
上一个 下一个