Qtopia里点击按钮切换窗口屏幕闪烁

__阿飞__ 2013-02-27 05:06:02
RT,这个问题困扰我很久了,解决了2天也没解决掉,所以来csdn发个帖看看网友们有好招没.

我写的是一个多窗口的程序,主窗口有排菜单按钮,点击不同功能按钮之后就打开对应的功能窗口,功能窗口有返回按钮,点击即可返回主界面.
1:主窗口的功能按钮我都给加了背景图片,在Qt creator里面直接对按钮加的样式;

2:每个窗口都是一个QFrame,QFrame上又都有个QLabel,然后我对每个功能界面的QLabel都设置了QPixMap,也就是设置了不同的背景图像,这些操作都在Qt creator里面直接完成的.

在windows下可能是内存足够,我并没有感觉点击不同的菜单切换有闪烁,但是当我把程序烧写到ARM板子上的时候,因为开发板资源有限,于是,每当我点击一个功能按钮,点完的那刻,屏幕会闪一下,然后打开功能窗口,也就是闪烁一下,闪烁的不是很厉害,就是感觉屏幕猛的稍暗了下又亮了下.

解决尝试的方法:
1:我把每个窗口的背景图像给去掉,换成纯背景色,不行,还是闪烁;
2:我修改了窗口hide,show的顺序,也还是闪,总之屏幕都会闪烁下.
其中我切换窗口的代码如下:

//切换到WinTestShot窗口
void funcmenu::on_trybutton_clicked() {
emit sig_bell();
this->getMainWindow()->getWinTestShot()->show();//WinTestShot窗口show
this->getMainWindow()->hide();//主窗口hide
}

3:把按钮的背景图片也去掉,再试,还是闪烁.

不晓得大家知道其中什么原因导致闪烁的么?谢谢各位了!
...全文
267 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
__阿飞__ 2013-03-04
  • 打赏
  • 举报
回复
结贴了,问题还没解决,只能先把背景换成纯色,不用图片,这样闪烁会小点.
引用 1 楼 openXMPP 的回复:
如果都是同色的背景也很闪烁吗? 按理来说 同色的应该一般不会闪烁 你先做下计时 看show 和 hide的时间分别是多少 可能是hide()完后 show()时间太长 导致视觉的不一致 这里交换不交换show hide顺序感觉没啥用 毕竟你都是在栈上的一个frame里做操作 这个frame如果没返回的话 界面是不会更新的 可以试试hide和show分……
乔巴好萌 2013-02-27
  • 打赏
  • 举报
回复
如果都是同色的背景也很闪烁吗? 按理来说 同色的应该一般不会闪烁 你先做下计时 看show 和 hide的时间分别是多少 可能是hide()完后 show()时间太长 导致视觉的不一致 这里交换不交换show hide顺序感觉没啥用 毕竟你都是在栈上的一个frame里做操作 这个frame如果没返回的话 界面是不会更新的 可以试试hide和show分别弹出一个signal 然后在slot里分别做show 和 hide 记得connect时 要选择 非direct的方式

16,199

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧