• 5648阅读
  • 4回复

如何立即显示控件啊? [复制链接]

上一主题 下一主题
离线deweyjew
 

只看楼主 倒序阅读 楼主  发表于: 2006-05-31
比如说:我想在一个widget上显示三个button, 例如:
void MyWidget :: showWidget()
{
    ......
    showRedButton();
    ......
    showCyanButton();
    ......
    showBlackButton();
    ......
}
有没有办法在我调用了showRedButton()以后,
立即在屏幕上显示相应的button啊?
(或者说把red button的数据立即送到framebuffer)
望指点一下, 谢谢!
离线henryhome
只看该作者 1楼 发表于: 2006-06-02
建议阅读 http://www.qiliang.net/qt/index.html 中有关 信号和槽 这块内容
离线deweyjew

只看该作者 2楼 发表于: 2006-06-02
这个我知道, 也试过, 效果不是很好,
信号和槽实际就是函数调用了(我的理解^_^)

void QApplication::processEvents ()
倒是可以实现, 只是在处理器比较忙的时候,
效果不好, 延时比较多^_^
离线shiroki

只看该作者 3楼 发表于: 2006-06-02
我觉得不好实现。
showxxx会发出showevent,进而引发paintevent, 但是只有运行完这段调用的代码再次进入事件循环的时候才可能调到paintevent的函数进行绘制。 理论上应该是这样的。

或者可以考虑手动去调用绘制的函数,不如试试repaint或者找更底层一些的绘制函数。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线fygenius

只看该作者 4楼 发表于: 2006-06-19
很好实现阿,用信号和槽阿。。

showRedButton();
showCyanButton();
showBlackButton();
三个方法定义成信号,然后用槽来实现在界面上显示按钮么。。。
快速回复
限100 字节
 
上一个 下一个