Qt_画家类,多线程

这篇博客详细介绍了Qt的绘图和线程管理。在Qt绘图部分,讲解了如何使用QPainter类在控件上绘制图片和图形,并给出绘制五星红旗的练习。在Qt线程部分,阐述了Qt线程的原理,如何使用QThread创建线程,以及线程的终止和线程ID的获取。最后,讨论了线程同步的概念,包括互斥量、读写锁和条件变量的使用。
摘要由CSDN通过智能技术生成

一、Qt绘图

​ 在Qt中使用QPainter类绘制图形、图片,但该类只能工作在painterEvent事件函数中,因此必须覆盖此函数。

​ 1、在控件上绘制图片
​ 1、创建image对象,需要提供图文件的路径。
​ 2、QPainter对象,需要提供控件的地址。
​ 3、调用它drawImage函数,绘制图片,需要提供一个绘制区域。
​ sx,sy,ex,ey。

​ 2、绘制图形
​ 1、设置画笔
​ setPen(QPen(QColor(0,255,0),10));

​ 2、设置填充

​ setBrush(QBrush(QColor(0,255,0)));

​ 3、设置绘画系列函数
​ drawLine 画线
​ drawLines 折线
​ drawEllipse 画圆
​ drawRect 画矩形

​ 练习1:画一幅五星红旗。

二、Qt线程

​ 1、Qt线程介绍
​ Qt程序默认只有一个线程,而该线程要时刻响应界面,所以Qt中设计了信号和槽机制,当执行一个操作时,界面会发出信号,然后槽函数响应并执行,然后再返回界面,当执行一个耗时较长的操作时,界面会卡住。
​ 所有当需要执行耗时较操作时,更适合让新的线程去完成。

​ 2、QTrhead类
​ Qt中提供了一个线程类,所以在Qt中使用线程非常方便。
​ 该类无法指定入口函数,需要继承该类,然后覆盖run函数,作为线程的入口函数。
​ start函数负责启动线程,当它调用后,run函数就开始

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值