通过圆形按钮的绘制熟悉Qt的绘图机制,掌握这种终极方法
基本上用QPainter就可以实现
1.
QPainter painter(this);
//开始的标志(可以不用)
painter.begin(this);
//保存最初的设置
painter.save();
//设置去锯齿
painter.setRenderHint(QPainter::Antialiasing, true);
//设置画笔形式(外侧轮廓)
painter.setPen(QPen(QColor(79, 236, 190), 2));
//设置矩形区域
QRectF rectbutton = QRectF(1,1,82,82);
//绘制填充中间的颜色
painter.setBrush(QColor(191, 189, 189, 200));
//绘制椭圆
painter.drawEllipse(rectbutton);
//绘制“对号”
painter.setPen(QPen(QColor(79, 236, 190), 3));
painter.drawLine(QLine( QPoint(32.5*g_dscale, 41.0*g_dscale), QPoint(40.5*g_dscale, 50.0*g_dscale)));
painter.setPen(QPen(QColor(79, 236, 190), 3.5));
painter.drawLine(QLine( QPoint(40.5*g_dscale, 50.0*g_dscale), QPoint(57*g_dscale, 30*g_dscale)));
//最后更新(一定要)
update();
根本用不上传入的参数,坐标系原点是控件的左上角;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?