标题:如何立即显示控件啊?
作者:deweyjew
日期:2006-05-31 18:57
内容:
比如说:我想在一个widget上显示三个button, 例如:
void MyWidget :: showWidget()
{
......
showRedButton();
......
showCyanButton();
......
showBlackButton();
......
}
有没有办法在我调用了showRedButton()以后,
立即在屏幕上显示相应的button啊?
(或者说把red button的数据立即送到framebuffer)
望指点一下, 谢谢!
#1 [henryhome 06-02 00:25]
建议阅读 http://www.qiliang.net/qt/index.html 中有关 信号和槽 这块内容
#2 [deweyjew 06-02 09:02]
这个我知道, 也试过, 效果不是很好,
信号和槽实际就是函数调用了(我的理解^_^)
void QApplication::processEvents ()
倒是可以实现, 只是在处理器比较忙的时候,
效果不好, 延时比较多^_^
#3 [shiroki 06-02 16:38]
我觉得不好实现。
showxxx会发出showevent,进而引发paintevent, 但是只有运行完这段调用的代码再次进入事件循环的时候才可能调到paintevent的函数进行绘制。 理论上应该是这样的。
或者可以考虑手动去调用绘制的函数,不如试试repaint或者找更底层一些的绘制函数。
#4 [fygenius 06-19 16:37]
很好实现阿,用信号和槽阿。。
把
showRedButton();
showCyanButton();
showBlackButton();
三个方法定义成信号,然后用槽来实现在界面上显示按钮么。。。