在qt 中,QPixmap 用于表示一张图片,支持png,jpg格式的加载。

QPixmap pm("c:/test.png");
或者
QPixmap pm;
pm.load("c:/test/png");

QT中图片的路径分为两种:

(1)文件系统中的图片:使用绝对路径或者相对路径。

(2)资源中的文件:以冒号开头例如:/Test/source/logo.jpg

绘制的参数:

(1)源矩形

可以绘制图形的全部,也可以绘制其中的一部分。

QRect source(,,ima_width,img_height);

(2)目标矩形

可以填充到全部窗口,也可以只填充一部分

QRect target(,,width/,height/);

调用的函数:

painter.drawPixmap(target,m_picture,source)

circlewidget.h

#ifndef CIRCLAWIDGET_H
#define CIRCLAWIDGET_H
#include <QFrame>
#include<QTimer>
#include<QPixmap>
class CircleWidget:public QFrame
{
Q_OBJECT
public:
CircleWidget(QWidget *parent);
~CircleWidget();
private:
void paintEvent(QPaintEvent *event); private:
QPixmap m_picture; }; #endif // CIRCLAWIDGET_H

circlewidget.cpp

# include"circlewidget.h"
#include<QPainter> CircleWidget::CircleWidget(QWidget *parent):QFrame(parent)
{
m_picture.load("/home/jun/untitled1/backimage.PNG");
}
CircleWidget::~CircleWidget()
{ }
void CircleWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
int width=this->width();
int height=this->height();
QRect target(,,width,height); int img_width=m_picture.width();
int img_height=m_picture.height();
QRect source (,,img_width,img_height);
painter.drawPixmap(target,m_picture,source); }

结果:

qt中窗口绘制——图片的绘制的更多相关文章

  1. Qt添加窗口背景图片、Label图片显示、、Label文字显示

    一.添加窗口背景图片 重写MainWindow绘制事件 void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this) ...

  2. QT中窗口刷新事件的学习总结

    一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const 2.void QWidget::paintEvent ( QPaintEvent ...

  3. QT中窗口刷新事件的学习总结(viewport, paintEvent, repaint, update, erase, updatesEnabled)

    一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const 2.void QWidget::paintEvent ( QPaintEvent ...

  4. QT中显示GIF图片

    在QT中要显示GIF图片,不能通过单单的添加部件来完成. 还需要手动的编写程序. 工具:QT Creator 新建一个工程,我们先在designer中,添加一个QLabel部件. 如下图: 将QLab ...

  5. Qt中窗口退出事件

    窗口右上角的X按键会导致其在不给出任何提示的情况下直接退出, 当点击右上角的x按键时,会触发Qt中的一个事件处理函数:void QWidget::closeEvent ( QCloseEvent * ...

  6. QT中循环显示图片和简单的显示图片

    请关注我的github https://github.com/linqiaozhou 以下实例代码不久后将会上传到我的github 这是我最近一个项目中的部分代码 //以下是简单的在QT中显示图片的代 ...

  7. Qt中添加背景图片的方法

    工作似乎走上正轨了,上周五的工作是做一个界面,用到QFrame和QPushButton,QFrame做主面板,QPushButton为其子控件,需要在主面板上贴背景图片,还需要在QPushButton ...

  8. 关于Qt中窗口的坐标

    主要是给自己以后参考,所以不会太仔细的讲解. #include "mainwindow.h" #include <QApplication> #include<Q ...

  9. QT 中设置按钮图片和文字的两种方法

    1.使用QpushButton自带的API实现: void setIcon(const QIcon &icon) void setText(const QString &text) 该 ...

随机推荐

  1. 20190927 - 28 后觉 「雅礼Day3 - 4」

    我再不开$C++11$编译我就从三楼跳下去$$\text{%%%lsc}$$ Day3 -lm -O2 -std=c++ Before $Day3$? 全是$Subtask$? $\frac{1}{4 ...

  2. 这些Excel学会了,你做账的效率将大大提高

    这些Excel学会了,你做账的效率将大大提高 这些功能学会了,工作效率将大大提高. 1.excel的快速访问工具栏: 我的快速访问工具栏由左到右主要是"保存"."新建&q ...

  3. 通过button将form表单的数据提交到action层

    form表单中不需要写action的路径,需要给form表单一个唯一的id,将你要提交的信息的表单中的标签name="action中的javabean对象.javabean属性". ...

  4. Java问题解读系列之String相关---String类为什么是final的?

    今天看到一篇名为<Java开发岗位面试题归类汇总>的博客,戳进去看了一下题目,觉得有必要夯实一下基本功了,所以打算边学边以博客的形式归纳总结,每天一道题, 并将该计划称为java问题解读系 ...

  5. springMvc实现拦截特定请求判断用户是否登录

    流程: 新建一个拦截器,配置拦截哪些,放行哪些 在spring servrt中配置拦截器 <!--配置拦截器--> <mvc:interceptors> <!--登录拦截 ...

  6. js创建svg元素的方法

    需要JQuery <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  7. Codeforces 1150E(树、线段树)

    要点 括号序列平衡度即树深度的性质 相当于中序遍历,则两点间最浅的地方即是LCA的性质 线段树维护\(d(a) + d(c) - 2*d(lca(a,c))\),一层层剥,思考维护这个量需要什么,结果 ...

  8. webpack学习之—— Manifest

    Runtime runtime,以及伴随的 manifest 数据,主要是指:在浏览器运行时,webpack 用来连接模块化的应用程序的所有代码.runtime 包含:在模块交互时,连接模块所需的加载 ...

  9. 各大ACM OJ网址

    做快乐的程序员 以你的条件,你不必追求优秀,但你可以做到良好. 各大OJ网址 ACM OJ Collection(排名不分先后): 中国:(China) 华东地区: 浙江: 杭州电子科技大学(HDU) ...

  10. oralce管理命令

    Emctl start agent TZ set to PRC Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Co ...