您的位置:首页 > 编程语言 > Qt开发

Qt for wince窗口设置Qt::Popup出现异常

2012-09-05 14:16 155 查看
使用Qt for wince时,自己新建的窗口,继承QDialog,并设置setWindowFlags(Qt::Popup);使用时,出现了两个奇怪的现象。

现象1,调用dialog的exec()阻塞时,在dialog的界面上,长按操作,会导致exec()函数退出,窗口关闭,单击或者触摸移动等操作都正常。

现象2,在界面上进行操作弹出dialog,调用exec()阻塞时,如果这个时候,在定时器内,或者其他线程发送消息,再次弹出来个QMessageBox,也会导致原来的dialog的exec()函数退出,窗口关闭。如果第二次弹出的是自定义的也设置了setWindowFlags(Qt::Popup)的MessageBox(类似于系统的QMessageBox,继承QDialog),会导致界面出现明显的显示异常,dialog的父窗口也关闭了。

Popup用于弹出式菜单,可能是dialog消失的原因。

将DIALOG设置成setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint )属性后,问题解决,但是又得解决设置引起的其他问题。

Qt for wince 真是多灾多难,移植,效率,BUG,支持等各方面的问题不断。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐