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

定时器时时都在调用

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

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

相关推荐
qeen8736 分钟前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
世人万千丶43 分钟前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
lucas_AI1 小时前
1.2B 小模型赢过 235B 大模型:NaviDC-OCR 把文档解析卷明白了
人工智能·深度学习·算法
桦说编程1 小时前
盘点并发集合里那些容易误判的行为
java·后端·性能优化
程序员与背包客_CoderZ1 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
Android系统攻城狮1 小时前
Linux PipeWire深度解析之pw_properties_iterate调用流程与实战(六十五)
linux·运维·服务器·音频进阶·pipewire音频进阶
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
IT爱学堂2 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
民乐团扒谱机2 小时前
【微实验】倒谱算法(Cepstrum)深度解析:原理、数学推导与代码实现
人工智能·算法·语音识别
ITyunwei09872 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信