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

定时器时时都在调用

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

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

相关推荐
冷冰鱼几秒前
【问题实录】服务器ping不通win11笔记本
运维·服务器
wayuncn1 分钟前
web服务器之云主机、物理机租用、服务器托管的区别
运维·服务器
冷曦_sole3 分钟前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
聚名网6 分钟前
服务器如何划分空间?
运维·服务器
林的快手8 分钟前
209.长度最小的子数组
java·数据结构·数据库·python·算法·leetcode
千天夜17 分钟前
多源多点路径规划:基于启发式动态生成树算法的实现
算法·机器学习·动态规划
从以前22 分钟前
准备考试:解决大学入学考试问题
数据结构·python·算法
world=hello36 分钟前
关于科研中使用linux服务器的集锦
linux·服务器
向阳121840 分钟前
mybatis 缓存
java·缓存·mybatis
枫欢40 分钟前
将现有环境192.168.1.100中的svn迁移至新服务器192.168.1.4;
服务器·python·svn