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

QT day4

1.实现绘图的时候,颜色的随时调整

void Widget::paintEvent(QPaintEvent *event)
{
    painter.begin(this);

    for(int i = 0; i < lines.size();i++)
    {
        pen.setColor(colors[i]);
        pen.setWidth(widths[i]);
        painter.setPen(pen);
        painter.drawLine(lines[i]);
    }
    painter.end();
}

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    end = event->pos();
    QLine line(start,end);
    lines << line;
    if (!eraser)
    {
        colors << color;
        widths << width;
    }
    else
    {
        colors << backgroundColor;
        widths << width;
    }
    start = end;
    update();
}

运行结果:

2.追加橡皮擦功能

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    end = event->pos();
    QLine line(start,end);
    lines << line;
    if (!eraser)
    {
        colors << color;
        widths << width;
    }
    else
    {
        colors << backgroundColor;
        widths << width;
    }
    start = end;
    update();
}


void Widget::on_pushButton_5_clicked()
{
    eraser=!eraser;
}

运行效果:

相关文章:

  • Kolla-Ansible deploy部署报错 KeyError: \\‘KernelMemory
  • 【Leetcode 每日一题】1328. 破坏回文串
  • 数据结构知识学习小结
  • 常用的分布式ID设计方案
  • golang debug调试
  • 集成的背景与LLM集成学习
  • 2025年渗透测试面试题总结- 深某服-漏洞研究员实习(题目+回答)
  • 工厂方法模式的C++实现示例
  • RabbitMQ的四种交换机
  • JavaScript 数组和字符串方法详解
  • Java中的时间类型
  • 智慧园区大数据云平台建设总体方案,平台方案架构-智慧园区大数据平台(320页原件Word)
  • 知识篇 | 低代码开发(Low-Code Development)是个什么东东?
  • 中兴移动互联终端三剑齐发 AI、5G-A、WiFi7构建高效智能网络
  • 132. 分割回文串 II
  • 代码随想录-数组03-977 有序数组的平方-java
  • 鸿蒙HarmonyOS-Navagation基本用法
  • JavaWeb-HttpServletRequest请求域接口
  • Unity实现在镜子间反射光柱
  • PySide(PyQT)的视图(QGraphicsView)范例(一) 基本框架
  • 网站上广告/黄页网站推广app咋做广告
  • wordpress oss/seo综合查询站长工具怎么用
  • 旅游景点网站建设方案/中国网站建设公司
  • 做网站baidunongmin/留号码的广告网站不需要验证码
  • 大连网站搜索排名提升/免费的舆情网站入口在哪
  • 淘宝客怎样做自己的网站推广/seo点击器