控件的拖拽移动及定时器及画家

定时器时时都在调用

virtual void timerEvent(QTimerEvent *event);//定时器更新函数

复制代码
 timer = new QTimer(this);
    timer->start(1000);

    connect(timer,&QTimer::timeout,[this](){
        static int num = 0;
        ui->led1->display(num++);
        if(num==10)
            {
            timer->stop();
        }
    });

画图事件

复制代码
virtual void paintEvent(QPaintEvent *event)
画家要画画 首先得需要一支笔 在qt中也一样

1要用画的载体 在那个窗口画画 画到某一个对象上 设置画布

2创建画笔

3 画家拿笔

复制代码
 painter  = new QPainter(this);//定义画家对象
   mpencolor =  QColorDialog::getColor();

//打开颜色选择窗口 为画笔选择颜色

复制代码
painter->begin(this);//先要设置画布 要现有画的东西
     QPen pen(mpencolor);//创建画笔
     //设置画笔的宽度
     pen.setWidth(10);
     painter->setPen(pen);//设置画笔
     pen.setWidth(10);
     //在那个窗口画 需要有被画的载体  在本窗口画画画
     painter->drawLine(0,0,100,100);

画矩形

画多边行 最后起点和终点会闭合

显示图片

复制代码
QImage img("./png/drink.png");//先加载图片
//图片要放在debug目录下

     //画家移动改变图形的位置
     painter->translate(QPoint(100,100));
     painter->drawImage(QRect(200,200,120,120),img);

旋转图片

最后语句画家画出图片来

总结:设置画布要在开始 最后结束记得加end不然程序会崩溃

设置画布 -》创建画笔 -》画家拿笔 就可以画画了

相关推荐
镜像视界(浙江)科技有限公司6 小时前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
SL_staff6 小时前
3天上线OKR系统:一名HR与1名工程师如何用JVS完成全栈交付
java·低代码·开源
a187927218316 小时前
【算法】双指针与滑动窗口(二):滑动窗口——吃进、判定、吐出
算法·leetcode·双指针·滑动窗口·原理·模板·算法讲解
铭哥的编程日记6 小时前
从一道 LeetCode Hard 到吃透一类题:加权区间调度「排序 + 二分 + DP」
算法·leetcode·职场和发展
Navigator_Z7 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
wzdark7 小时前
基于链表的内存池设计与内存复用机制4
java·数据结构·链表
wzdark7 小时前
多维数组在算法设计中的存储映射问题4
算法
cnkeysky8 小时前
idea 中的 maven 项目重新加载子模块
java·idea
Escalating_xu8 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
今天AI了吗8 小时前
什么是 AI Agent?它与直接调用大模型 API 有何区别
java·网络·人工智能·架构·java-ee