本例来自B站传智教育QT从入门到实战的10手动调用绘图事件 widget.cpp文件
#include "widget.h"
#include "ui_widget.h"
#include<QPainter>
#include<QPixmap>
#pragma execution_character_set("utf-8")
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
void Widget::paintEvent(QPaintEvent *event)
{
// //实例化画家对象 this 指定的是绘图设备
// QPainter painter(this);
// //设置画笔
// QPen pen(QColor(255,0,0));//写在前面很重要哦 set width
// pen.setWidth(3);
// //设置画笔风格
// pen.setStyle(Qt::DotLine);
// //让画家使用这个笔
// painter.setPen(pen);
// //画刷
// QBrush brush(Qt::cyan);
// brush.setStyle(Qt::Dense7Pattern);
// painter.setBrush(brush);
// //画线
// painter.drawLine(QPoint(0,0),QPoint(100,100));
// //画⚪
// painter.drawEllipse(QPoint(100,100),50,50);
// painter.drawRect(QRect(20,20,50,50));
// //画文字
painter.drawText(QRect(10,200,150,50),"好好学习,天天向上");
// 高级设置///
// QPainter painter(this);
// painter.drawEllipse(QPoint(100,50),50,50);
// //设置抗锯齿能力 效率会比较低
// painter.setRenderHint(QPainter::Antialiasing);
// painter.drawEllipse(QPoint(200,50),50,50);
// //画矩形
// painter.drawRect(QRect(20,20,50,50));
// painter.translate(100,0);
// //保存画家状态
// painter.save();
// painter.drawRect(QRect(20,20,50,50));
// painter.translate(100,0);
// //还原画家保存状态
// painter.restore();
// painter.drawRect(QRect(20,20,50,50));
///利用画家画资源图片/
QPainter painter(this);
painter.drawPixmap(20,100,QPixmap("://image/1.png"));
}
Widget::~Widget()
{
delete ui;
}
在本例中需要利用画家画出资源图片
第一次没有顺利画出,有以下几点原因
1、注意后缀名格式
本例中如果使用了3.7PNG,在描绘的时候如果用如下代码是无法显示图片的,注意大小写
painter.drawPixmap(20,100,QPixmap("://捕获/1.png"));
.png和.PNG是不同的。
2、注意/和\的区别
最简单的方法就是直接找到你想使用的资源文件(注意是已经添加进去的哦)
点击Open in Editor
找到你想使用的资源图片
鼠标右键、复制资源路径到剪切板
这样的话一是比较方便,二是不容易出错。
QT新手,在学习路上总结遇到的问题,希望能对各位有一些帮助。文章来源:https://www.toymoban.com/news/detail-509597.html
新人第一次发文章,文中有不正确的地方还请大家指正,理性交流沟通。文章来源地址https://www.toymoban.com/news/detail-509597.html
到了这里,关于QT遇到资源文件不显示的问题这样解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!