Qt画笔的简单使用

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLinearGradient>
#include <QRadialGradient>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->resize(800, 480);
}

void MainWindow::paintEvent(QPaintEvent *event)
{
    //画直线
    QPainter painter(this);
    painter.setPen(Qt::red); //设置画笔为颜色
    painter.drawLine(50, 50, 600, 400); //(50, 50)为初始坐标,(600, 400)为最终坐标

    //绘制矩形  QRect为矩形类,QLinearGradient为呈线性梯度的渐变颜色类,线性渐变
//    QLinearGradient linear(rect().topLeft(), rect().bottomLeft()); //rect矩形的左上角坐标、右下角坐标,作为渐变颜色的方向
//    linear.setColorAt(0, Qt::red);
//    linear.setColorAt(0.5, Qt::green);
//    linear.setColorAt(1, Qt::blue); //设置红、绿、蓝变化
//    painter.setPen(Qt::gray); //设定画笔颜色,到时侯就是边框颜色
//    painter.setBrush(linear); //设置画笔,到时候就是区域颜色
//    painter.drawRect(QRect(0, 30, this->width(), this->height()-30)); //设置绘制区域 画矩形,左上角横纵坐标、矩形宽度和高度

    //绘制矩形 辐射渐变
//    QRadialGradient radialGradient(310,110,100,310,110);//创建了一个QRadialGradient对象实例,参数分别为中心坐标,半径长度和焦点坐标,如果需要对称那么中心坐标和焦点坐标要一致

//    radialGradient.setColorAt(0, Qt::green);
//    //radialGradient.setColorAt(0.2,Qt::white);
//    radialGradient.setColorAt(0.4,Qt::blue);
//    //radialGradient.setColorAt(0.6,Qt::red);
//    radialGradient.setColorAt(1.0,Qt::yellow);
//    painter.setBrush(QBrush(radialGradient));
//    painter.drawEllipse(210,10,200,200);//在相应的坐标画出来

    //绘制矩形 弧度渐变
//    QConicalGradient conicalGradient(510,110,0);    //创建了一个QConicalGradient对象实例,参数分别为中心坐标和初始角度

//    conicalGradient.setColorAt(0,Qt::green);
//    conicalGradient.setColorAt(0.2,Qt::white);
//    conicalGradient.setColorAt(0.4,Qt::blue);
//    conicalGradient.setColorAt(0.6,Qt::red);
//    conicalGradient.setColorAt(0.8,Qt::yellow);
//    conicalGradient.setColorAt(1.0,Qt::green);
//    //设置渐变的颜色和路径比例
//    painter.setBrush(QBrush(conicalGradient));
//    painter.drawEllipse(410,10,200,200);//在相应的坐标画出来

    //绘制折线
    painter.setPen(Qt::red);
    static const QPointF points[4] = {QPointF(0, 30), QPointF(0, this->height()-1), QPointF(this->width()-1, this->height()-1), QPointF(this->width()-1, 30)};
    painter.drawPolyline(points, 4); //由4个点连成的折线
}

MainWindow::~MainWindow()
{
    delete ui;
}
时间: 2024-08-24 03:46:53

Qt画笔的简单使用的相关文章

Qt线程的简单使用系列

Qt线程的简单使用(四)--QSemaphore的使用 Qt线程的简单使用(三)--通过一个实例理解QMutex的使用 Qt线程的简单使用(二)--通过继承QThread()创建线程 Qt线程的简单使用(一)--通过QObject::moveToThread()创建线程

QT 选择对话框简单示例

QT 选择对话框简单示例 部分代码: pDialog->addSeparator(); QAction *pmb2 = pDialog->addAction(QString::fromLocal8Bit("选择对话框")); connect(pmb2, &QAction::triggered, [this](){ QMessageBox * mBox = new QMessageBox(this); mBox->setWindowTitle(QString::

使用qt写的简单的图片浏览器

功能特别简单,支持png,jpg,bmp,gif文件,支持自适应窗口大小,支持放大缩小,旋转功能还有点问题,支持上下按键选择图片 因为初学qt,所以很多东西都不太会,而且c++学的不是太好,没有怎么使用面向对象的思想,代码可以说是一团糟 基本上是缺少什么功能添加什么功能 截图如下 代码在这里 http://pan.baidu.com/s/1nujhhtJ

使用qt制作一个简单的计算器

前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的槽函数) //前面我有一篇文章已经介绍过槽函数的使用了,大家有兴趣可以看看,这里就不详细说了.  二.取出按钮中的字符 QString line = ui->pushButton1->text() //取出按钮pushButton1中的字符存放到line中 三.设置输入框中显示的内容 ui->

QT+OpenGL 描绘简单图形

初学opengl,绕了很多弯路,继承于QOpenGLWindow,描画出来.新建类myopengl,头文件如下: #ifndef MYOPENGL_H #define MYOPENGL_H #include <QWidget> #include <QOpenGLWidget> #include <QOpenGLWindow> #include <QGLWidget> #include <QGLFunctions> #include <QOp

Qt线程的简单使用(一)

Qt中线程的一种创建方式,就是使用QObject::moveToThread()函数.如下,直接上源代码,可以把费时的任务放到doWork()方法里进行,不阻塞主线程. 1 #ifndef WORKER_H 2 #define WORKER_H 3 4 #include <QObject> 5 6 class Worker : public QObject 7 { 8 Q_OBJECT 9 10 public: 11 Worker(); 12 ~Worker(); 13 public slot

Qt线程的简单使用(二)

Qt 中的线程的创建除了使用QObject::moveToThread()的函数以外,继承QThread(),重写其run()函数也是一种常见的方式.Qt 助手中,关于QThread的介绍中,有这样一段代码: 1 class AdvancedThreadManager : public QThread 2 { 3 protected: 4 void run() 5 { 6 /* ... other code to initialize thread... */ 7 8 // Begin even

Qt Charts的简单安装与使用

http://blog.qt.io/blog/2016/01/18/qt-charts-2-1-0-release/ 下载地址: https://codereview.qt-project.org/#/admin/projects/qt/qtcharts 已经在qt5.3.1上面编译通过 可以直接集成到项目当中做法:1.下载源码2. 使用QtCreator编译(make)3. 执行安装操作 (make install)4. 集成到项目当中 QT +=charts 5. 项目代码中使用 using

qt实现一个简单的播放器

ui界面设计如下: 2.代码结构 3.dialog.cpp #include "dialog.h" #include "ui_dialog.h" #include<QStringList> #include<QDebug> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); ui->lb_dis->