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

定时器时时都在调用

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不然程序会崩溃

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

相关推荐
星轨zb8 小时前
JUC 到 Redis 分布式锁:一次关于高并发的性能压测实验
java·redis·分布式·jmeter
2601_955256478 小时前
云服务器采购避坑指南:如何通过官方渠道获得更低折扣与更快服务
运维·服务器
深蓝轨迹8 小时前
Java 集合框架超全解 · 底层源码|集合对比|HashMap 扩容原理
java·hashmap·集合框架·arraylist·linkedlist
清欢渡---8 小时前
三次握手四次挥手(对话场景)
运维·服务器·网络·hcia
hansang_IR8 小时前
【记录】loj2967「COCI 2010.03.06」PROGRAM
c++·算法
心中有国也有家9 小时前
PaddlePaddle 适配 NPU 的技术全解析——从算子接入到端到端性能优化
人工智能·分布式·算法·性能优化·架构·paddlepaddle
兰令水9 小时前
topcode【随机算法题】【2026.5.24打卡-java版本】
java·开发语言·算法
LCG元9 小时前
Istio - 服务网格流量治理深度解析:灰度发布 / 故障注入配置实践
java·数据库·istio
hef2889 小时前
Java Switch和Break语句用法详解:从入门到实战
java·开发语言
小脑斧1239 小时前
从入门到精通:Linux 进程间通信 IPC 全解析|管道、共享内存、信号量、消息队列实战
linux·运维·服务器