• 12136阅读
  • 8回复

QT图片显示问题 [复制链接]

上一主题 下一主题
离线phoenixtju
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-31
Hi,我是QT的菜鸟。最近做一个小程序,想实现几个图片连续显示的例子,但是程序的运行结果只能看到最后一幅图像,其他图像没有显示,请高人指点。

Code:
#include <QtCore>
#include <QApplication>
#include <QLabel>
#include <QPixmap>


void showimage(int i)
{
switch(i)
{
case 0:
QPixmap *map1 = new QPixmap("1.png");
label->setPixmap(*map1);
break;
case 1:
QPixmap *map2 = new QPixmap("2.jpg");
label->setPixmap(*map2);
break;
case 2:
QPixmap *map3 = new QPixmap("3.jpg");
label->setPixmap(*map3);
break;
case 3:
QPixmap *map4 = new QPixmap("4.jpg");
label->setPixmap(*map4);
break;
case 4:
QPixmap *map5 = new QPixmap("5.jpg");
label->setPixmap(*map5);
break;
}
}


int main(int argc, char *argv[])
{

QApplication a(argc,NULL);
QLabel *label = new QLabel();
label->resize(800,600);
label->setAlignment(Qt::AlignCenter);

int i=0;
showimage(0);
label->update();
label->show();
for(;i<10000;i++)
{;}


showimage(1);
label->update();
label->show();

for(;i<10000;i++)
{;}

showimage(2);
label->update();
label->show();
for(;i<10000;i++)
{}
return a.exec();
}
离线daizb05
只看该作者 1楼 发表于: 2009-05-31
一个窗口中只能显示一个,你只有一个窗口,当然只会显示一个图。
想用多窗口建议用QMdiArea。
离线phoenixtju
只看该作者 2楼 发表于: 2009-05-31
我的表述是不是清楚?
我的意思就是在一个窗口上依次显示几个图片,最先显示图片一, 过一段时间后自动显示图片二。。。。。。。
离线shiroki

只看该作者 3楼 发表于: 2009-05-31
这样写不行亚, 要进到事件循环才能刷新界面呢, 你这样只进了事件循环一次, 当然只看到最后一个了。 你还是从label派生一下, 用qtimer去控制画图吧。 for循环是不能放在gui线程里用来控制时间的。
--
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
离线shiroki

只看该作者 4楼 发表于: 2009-05-31
我打算明天写个类似的例子, 有兴趣的话明天上我们的blog和bbs里找找。
--
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
离线yang_huafeng

只看该作者 5楼 发表于: 2009-05-31
自己写个窗口界面,使用QTimer和paintEvent配合来实现,类似屏保程序
QT使用中...
离线shiroki

只看该作者 6楼 发表于: 2009-06-01
--
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
离线phoenixtju
只看该作者 7楼 发表于: 2009-06-01
3x a lot
离线frankxie
只看该作者 8楼 发表于: 2011-05-06
http://jinhao0513.blog.163.com/blog/static/11067348120112281021459/  这篇文章就是解决这个问题的,可以看看。
快速回复
限100 字节
 
上一个 下一个