【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.13 抗锯齿
本节对应的视频讲解:B_站_视_频
https://www.bilibili.com/video/BV1YP4y1B7Ex
本节讲解抗锯齿效果
前面实现的效果中,仔细观看能看到明显的锯齿的效果,如下:
此时,可以增加抗锯齿的效果。
1. 关联信号槽
首先,在 widget.cpp
的构造中,为 “抗锯齿” 复选框,关联信号槽
// 抗锯齿
connect(ui->chkAntialiasing, SIGNAL(toggled(bool)), this, SLOT(antialiasChanged()));
2. 声明并实现槽函数
首先,在 widget.h
中声明 antialiasChanged() 槽函数:
class Widget : public QWidget
{private slots:void antialiasChanged();
};
然后,在 widget.cpp
中实现这个槽函数:
void Widget::antialiasChanged()
{ui->paintWidget->setAntialias(ui->chkAntialiasing->isChecked());
}
3. 实现 setAntialias
首先,在 PaintWidget.h
中声明 setAntialias 函数,并定义一个成员变量 mAntialias,如下:
class PaintWidget : public QWidget
{public slots:void setAntialias(bool antialias);private:bool mAntialias;
};
然后,在 PaintWidget.cpp
中,实现 setAntialias 函数:
void PaintWidget::setAntialias(bool antialias)
{this->mAntialias = antialias;update();
}
最后,由于上边调用了 update 之后,系统会自动调用 paintEvent
因此,在 paintEvent 中增加抗锯齿,来完成绘制
void PaintWidget::paintEvent(QPaintEvent *event)
{// 创建画家类的对象,参数为绘图设备。指定为this,表示在当前窗口绘制QPainter painter(this);painter.setPen(mPen);painter.setBrush(mBrush);if ( mAntialias ) {painter.setRenderHint(QPainter::Antialiasing, true);}
}
【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.13 抗锯齿相关推荐
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget
本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.4 项目构建流程
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1cW4y1y7Lw 在上一节课中,我们新建了第一个 Qt 工程,其中包括 5 个文件: Hell ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.2 搭建Qt开发环境
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1Pr4y1x7fh Qt 开发主要有两种开发环境 Qt Creator 它是 Qt 官方提供的开 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1UA4y1d7V2 学习任何的编程语言,创建的第一工程都是打印 hello world,学习 Q ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.2 按钮 QPushButton
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1zG411s7LG QPushButton 是 Qt 中的按钮,通常用于响应用户的点击,然后执行 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.7 如何连接信号槽
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1mN4y137H6 信号和槽要建立连接,本质上是通过 `connect` 函数来连接实现的. 但 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.6 自定义信号槽
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gA4y1d7gz 上节课,我们讲解了标准信号槽,标准信号槽中,信号和槽函数,都是 Qt 框架定 ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.3 标签 QLabel
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1wB4y1B7b7 QLabel 是 Qt 中的标签类,通常用于显示提示性的文本,也可以显示图像 ...
最新文章
- 才一年,智能车就不再是新势力专利!
- 九度OJ 朋友圈 并查集
- Linux 30岁了~我们也老了
- html-简单验证、滑块、搜索框
- 下列哪个适合做链栈_朋友圈人格图鉴:三天可见 vs 全部可见,哪个更适合做恋人?...
- FullCalendar 四:FullCalendar应用——新建日程事件
- 红黑树模拟软件_【程序员面试必备】红黑树详细图解
- 苹果“撞上”反垄断,围墙花园能否坚挺?
- OpenJDK8编码代码三合一:x86/Arm/Mips
- 微信小程序搜索排名规则,教你怎么让排名靠前
- m4s格式转换mp3_把MP3格式的音频转换成WAV格式
- 处理器的排名_齐齐哈尔LPCVD尾气处理器排名推荐
- 基于云虚拟机的代码覆盖率
- 他用手指玩滑板,居然玩成了国内第一人?
- 词袋模型基本原理——DBoW3
- 计算机编程语言及C语言简介,编程语言基础:C语言
- Vue2.x动态组件的使用实现组件整合大屏展示
- 什么是浏览器指纹? 浏览器指纹技术应用有哪些?
- 【机器学习】实战系列
- 报错java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String解决踩坑
热门文章
- OTA 电控信息安全
- php curl上传文件到solr,9.Solr4.10.3数据导入(post.jar方式和curl方式)
- 章文嵩:滴滴受益于开源,也回馈于开源
- JavaScript基础知识点之浏览器交互
- 2022年山东省职业院校技能大赛高职组“信息安全管理与评估”赛项竞赛规程
- ubuntu 17linux输入法,Ubuntu 17.10如何安装Fcitx五笔拼音输入法
- MySQL学习之数据库详解~2021
- 在深圳,报考软考你需要了解这些
- 磁共振指纹:一种新颖的定量磁共振技术
- 【Unity3DRPG入门学习笔记第五卷】MouseManager 鼠标控制人物移动