Qt设置图片
一、设置图片
(一)setIcon
以QPushButton为例,设置按钮的图标可以使用函数setIcon,设置图标大小使用setIconSize。
QPixmap pix; //设置图片固定大小 this->setFixedSize(pix.width(),pix.height()); //设置不规则图片样式 this->setStyleSheet("QPushButton{border:0px;}"); //设置图标 this->setIcon(pix); //设置图标大小 this->setIconSize(QSize(pix.width(),pix.height()));
(二)drawPixmap
QPainter的drawPixmap(),QLabel
QPainter painter(this); painter.drawPixmap(0, 0, m_pic);
(三)setPixmap
使用QLabel的setPixmap()就可以将图片显示出来
//绘制背景图片 QLabel* label = new QLabel; label->setGeometry(57 + i * 50, 200 + j * 50, 50, 50); label->setPixmap(QPixmap("res/BoardNode.png")); label->setParent(this);
(四)setWindowIcon
//设置固定大小 this->setFixedSize(320,588); //设置图标 this->setWindowIcon(QPixmap("res/Coin0001.png")); //设置窗口标题 this->setWindowTitle("翻金币主场景");
二、scaled
(一)scaled函数
图像缩放采用scaled函数。(也可以放大)
//qpixmap.h inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, Qt::TransformationMode mode = Qt::FastTransformation) const { return scaled(QSize(w, h), aspectMode, mode); }
(二)用法
scaled函数中width和height表示缩放后图像的宽和高,即将原图像缩放到(width,height)大小。
scaled()函数是返回一个新的QPixmap的
QImage* imgScaled = new QImage; *imgScaled=img->scaled(width,height,Qt::KeepAspectRatio); ui->label->setPixmap(QPixmap::fromImage(*imgScaled));
(三)例子
//加载标题 QPainter painter(this); QPixmap pix; pix.load("res/Title.png"); pix = pix.scaled(pix.width()*0.5,pix.height()*0.5); painter.drawPixmap( 10,30,pix.width(),pix.height(),pix);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了