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

定时器时时都在调用

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

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

相关推荐
小则又沐风a几秒前
库的原理:目标文件,ELF格式,程序加载
java·linux·前端
To_OC12 分钟前
LC 79 单词搜索:都说这是回溯入门题,我却连错三回
javascript·算法·leetcode
我是唐青枫15 分钟前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询
java·spring boot·neo4j
问商十三载1 小时前
2026大模型GEO内链优化:3个传导逻辑提权重,零成本提29%收录优先级附布局表
人工智能·算法
Risk Actuary2 小时前
手动示例解释机器学习中 GBDT 算法原理
人工智能·算法·机器学习
Lucis__3 小时前
基于Cache替换算法的LRU缓存实现
数据结构·c++·算法·缓存·lru
血色橄榄枝8 小时前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
蓝胖的四次元口袋8 小时前
服务器网络与系统基础-面试题
服务器·网络
Cx330❀9 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
Java搬码工9 小时前
CompletableFuture 完整详解 + 全场景使用案例
java