我做了一个简单的尝试:
HWWidget::HWWidget(QWidget * parent, const char *name, WFlags f)
: QWidget( parent, name, f)
{
left = 0;
top = 160;
width =240;
height = 160;
mPixmap = QPixmap("./bicycle.jpg");
//setBackground(Noground);
show();
}
void HWWidget::paintEvent(QPaintEvent * /*e*/)
{
QPainter p( this);
static int times = 1;
static int yoffset = 8;
{
setGeometry( 0, 320-times*yoffset, 240,times*yoffset);
p.drawPixmap(0, 0, mPixmap, 0, 0, -1, -1);
times++;
usleep(500000);
}
}
这样的效果能出来一点,就是图片bicycle.jpg能动画的划出来,存在三个问题:
1.是个死循环,可能是因为setGeometry也会引发paint...
2.只有bicycle.jpg图便能有动画效果,但是widget看不到他的默认的frame...
3.可能运算太多,arm处理器不能很好的支持
所以,请问,QT有没有好一点的接口,支持整个widget也一起想抽屉一样的划出来,类似与QQ的主界面,从隐藏状态显示出来的时候,是一个划出来的效果..可以从左到右,从上到下,甚至从下到上的划出来...???
非常感谢您的帮助!!!!