当前位置: 首页 > news >正文

个人网站建设服务免费个人推广引流平台

个人网站建设服务,免费个人推广引流平台,wordpress 日志文件,哪家网站建设做的好6.1 QPaintEvent 绘图事件 QPaintEvent 是 Qt 框架中一个重要的事件类,专门用于处理绘图事件。当 Qt 视图组件需要重绘自己的一部分时,就会产生 QPaintEvent 事件。这通常发生在以下几种情况: 1. 窗口第一次显示时 :当窗口…
6.1 QPaintEvent 绘图事件
QPaintEvent Qt 框架中一个重要的事件类,专门用于处理绘图事件。当 Qt 视图组件需要重绘自己的一部分时,就会产生 QPaintEvent 事件。这通常发生在以下几种情况:
1. 窗口第一次显示时 :当窗口或控件第一次出现在屏幕上时,系统会生成一个 QPaintEvent 事件,通知窗口进行自身的绘制。
2. 窗口大小改变时 :当用户改变窗口的大小时,窗口的内容通常需要重新绘制以适应新的尺寸。
3. 窗口部分被遮挡后又重新显示时 :如果窗口被其他窗口遮挡,然后又重新露出来,被遮挡的部分通 常需要重新绘制。
4. 手动请求重绘 :通过调用 QWidget update() repaint() 方法,可以手动触发重绘事件。
Qt 应用程序中,通常通过重写 QWidget paintEvent(QPaintEvent *) 方法来处理绘制逻辑。
例如:
class MyWidget : public QWidget {
protected :
        void paintEvent ( QPaintEvent * event ) override {
                QPainter painter ( this );
                // 绘制逻辑
        }
};
paintEvent 方法中,您可以创建一个 QPainter 对象并使用它来执行绘制操作。 QPainter 可以绘制各种基本图形,如线条、矩形、椭圆等,还可以绘制文本和图像。重写 paintEvent 是在 Qt 中进行自定义绘制的标准做法。
6.2 QPainter 画家
6.2.1 概述
QPainter Qt 库中用于在屏幕上进行绘画的类。它提供了各种绘制功能,比如画线、画图形、画文本等。
以下是一些基本的用法示例:
1. 初始化 QPainter :首先,您需要一个 QPaintDevice ,比如一个 QWidget QPixmap ,然后使用它来初始化 QPainter 对象。
QPainter painter ( this ); // 假设在 QWidget 的子类中
设置画笔和画刷 :您可以设置画笔(用于描边)和画刷(用于填充)的颜色、样式等。
painter . setPen ( Qt::blue ); // 设置画笔颜色为蓝色
painter . setBrush ( Qt::yellow ); // 设置画刷颜色为黄色
绘制图形 :使用 QPainter 的方法来绘制线条、矩形、圆形、文本等。
painter . drawLine ( 10 , 10 , 100 , 100 ); // 画线
painter . drawRect ( 10 , 10 , 100 , 100 ); // 画矩形
painter . drawText ( 10 , 10 , "Hello, Qt!" ); // 画文本
结束绘制:完成绘制后, QPainter 对象会在其析构函数中自动结束绘制。
请注意, QPainter 的使用依赖于 Qt 的事件循环,因此通常在 QWidget paintEvent 或者类似的事件处理函数中使用它。如果您在 Qt 应用程序中使用 QPainter ,请确保您遵循 Qt 的事件驱动机制。
以下还有画线,画矩形,画圆,画弧线,画扇形的代码案例:
#include "widget.h"
#include "ui_widget.h"
 
#include <QPainter>
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}
 
Widget::~Widget()
{
    delete ui;
}
 
void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    //设置画笔颜色,大小
//    QPen pen(Qt::lightGray,7);
//    painter.setPen(pen);
    painter.setPen(Qt::lightGray);
    //设置字体大小
    painter.setFont(QFont("Arial", 30));
    //写字
    painter.drawText(rect(), Qt::AlignCenter, "Qt");
 
    //画线
//    void drawLine(const QLine &line)
    QLine line(10,100,200,10);
    painter.drawLine(line);
//    void drawLine(int x1, int y1, int x2, int y2)
    painter.drawLine(100,400,200,10);
//    void drawLine(const QPoint &p1, const QPoint &p2)
    painter.drawLine(QPoint(100,400),QPoint(10,100));
 
    //画矩形
//    void  drawRect(int x, int y, int width, int height)
    painter.drawRect(100,100,20,100);
//    void drawRect(const QRect &rectangle)
    QRect rect(100,100,40,200);
    painter.drawRect(rect);
 
    //画圆
//    void drawEllipse(const QRect &rectangle)
    QRect ellipse(200,200,50,100);
    painter.drawEllipse(ellipse);
//    void drawEllipse(int x, int y, int width, int height)
    painter.drawEllipse(250,200,50,100);
//    void drawEllipse(const QPoint &center, int rx, int ry)
    painter.drawEllipse(QPoint(250,200),100,200);
 
    //画弧线
//    void drawArc(const QRect &rectangle, int startAngle, int spanAngle)
    QRect arc(200,100,100,50);
    painter.drawArc(arc,30*16,120*16);
    painter.drawArc(arc,-30*16,-120*16);
//    void drawArc(int x, int y, int width, int height, int startAngle, int spanAngle)
    painter.drawArc(200,120,100,50,30*16,120*16);
    painter.drawArc(200,120,100,50,-30*16,-120*16);
 
    //画扇形
//    void drawPie(int x, int y, int width, int height, int startAngle, int spanAngle)
    painter.drawPie(200,220,100,50,30*16,120*16);
//    void drawPie(const QRect &rectangle, int startAngle, int spanAngle)
    QRect pie(200,250,100,50);
    painter.drawPie(pie,30*16,120*16);
 
}
 
 
http://www.bjxfkj.com.cn/article/105593.html

相关文章:

  • 重庆微网站建设精准推广的渠道有哪些
  • 网站做图片滚动网站建设网络推广seo
  • 上海工程造价咨询公司seo网站优化系统
  • 青岛seo搜索引擎优化有哪些要点
  • 公司网站做优化少钱深圳信息公司做关键词
  • 广州天河网站建设叶涛网站推广优化
  • 专业营销策划团队seo专员工作容易学吗
  • 很多网站没排名了seo 优化教程
  • 网站独立ip有什么好处线上销售渠道有哪些
  • wordpress主题不分页黑帽seo技术论坛
  • 怎么创建图片网站网店运营入门基础知识
  • 网站被攻击的方法百度一下移动版首页
  • 如何建立一个购物网站网络推广人员
  • 深圳什么公司做网站好网站seo专员
  • 网站新闻专题怎么做百度下载老版本
  • 一家专门做衣服的网站seo网页推广
  • 徐州市住房建设局网站成都seo整站
  • 邯郸建网站公司seo服务价格表
  • 怎样用vs做简单网站国外网站推广公司
  • 花型图案设计网站网站优化排名软件
  • 找个做游戏的视频网站seo搜索引擎优化岗位要求
  • 手机网页传奇网站建设seo优化培训
  • 做国际网站有用吗国外网络推广
  • 厦门网站建设哪家不错c++培训班学费一般多少
  • 武汉网站营销优化源码西安优化外
  • 苹果钓鱼网站怎么做网络口碑推广公司
  • 什么软件能自己做网站chrome手机安卓版
  • 大良制作网站网站建设推广多少钱
  • 宜昌做网站要什么条件每日新闻最新消息
  • myeclipse做网站的步骤网站关键词排名优化工具