打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
QT显示图片 共两大类方法
QT显示图片的方法有很多

  大致为

  label上显示

  直接画出来

  1-------------------------label上显示图片------------------

  把你的label.png放到工程目录顶层,直接

  QPixmap pixmap('label.png');

  ui->title_label->setPixmap(pixmap);

  ui->title_label->show();

  ---

  可以直接:

  label->setPixmap(QPixmap('./pic.jpg'));

  或者:

  QImage *image= new QImage('./pic.jpg');

  label->setPixmap(QPixmap::fromImage(image));

  再或者在中途换某个图像的话:

  QImage *image= new QImage('./pic1.jpg');

  label->setPixmap(QPixmap::fromImage(image));

  ...........

  image->load('./pic2.jpg');


  2----------直接画出图片-------------------------

  voidlogindlg::paintEvent(QPaintEvent*)
 {
QPainterpainter(this);
QPixmappix;pix.load('D:/QT/login/login/images/delta.png');
painter.drawPixmap(0,0,100,33,pix);
//painter.drawLine(0,0,100,100);
}




  最后补充-----------程序启动时的图片

  QApplication app(argc, argv);

  QSplashScreen *splash = new QSplashScreen;

  splash->setPixmap(QPixmap(':/images/splash.png'));//设置图片

  splash->show();//显示图片

  Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;

  splash->showMessage(QObject::tr('Setting up the main window...'),topRight, Qt::white);//显示信息

  MainWindow mainWin;

  splash->showMessage(QObject::tr('Loading modules...'),

  topRight, Qt::white); //显示信息

  loadModules();

  splash->showMessage(QObject::tr('Establishing connections...'),

  topRight, Qt::white); //显示信息

  establishConnections();

  mainWin.show();

  splash->finish(&mainWin);//图片一直显示到mainWin加载完成

  delete splash;//释放空间,节省内存

  return app.exec();

  来自: http://hi.baidu.com/sdink/blog/item/879e7013027a7fcaa7ef3f83.html

  首先你得加载一张能显示透明的图片,jpg格式肯定是不行的,一般都是png

  还有不同的部件加载图片的方法也不太相同,比如:

  QLabel加载图片:

  C/C++ code

  QString strPath=imagePath.value(day); //图片路径

  QPixmap pix(strPath);

  dayLabel->setPixmap(pix);

  QPushButton加载图片:

  C/C++ code

  button->setIcon(QIcon('toolbutton.png'));

  button->setIconSize(QSize(48, 48));

  其中setIconSize函数是用来截取图片的显示区域,如果没有该函数,该图片是被缩放的放到图片上

  用调色板加载图片:

  C/C++ code

  QPalette p = palette();

  p.setBrush(QPalette::Button, QBrush(QPixmap('toolbutton.png')));

  setPalette(p);

  另外实现按钮的透明:

  C/C++ code

  button->setFlat(true);

  还有就是用绘制事件函数了:

  C/C++ code

  QPixmap arrayImage('/home/image/array.png'); //图片路径

  QRect arrayRect(0,0,50,50); //截取图片区域

  QPainter painter;

  painter.drawPixmap(QPoint(100,100),arrayImage,arrayRect); //打印图片
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
QPixmap
【Qt开发】Qt中显示图像的两种方法对比
QPixmap、QBitmap、QImage 與 QPicture
Qt可显示的图像类型
QT控件循环,该怎么处理
pyqt4制作透明无边框窗体
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服