随笔分类 -  Qt

上一页 1 ··· 3 4 5 6 7 8 下一页
摘要:一、抗锯齿渲染 1.1 逻辑绘图 图形基元的大小(宽度和高度)始终与其数学模型相对应,下图示意了忽略其渲染时使用的画笔的宽度的样子。 1.2 物理绘图(默认情况) 在默认的情况下,绘制会产生锯齿,并且使用这样的规则进行绘制: 当使用宽度为一个像素的画笔进行渲染时,像素会在数学定义的点的右边和下边进行 阅读全文
posted @ 2019-06-20 15:13 fengMisaka 阅读(8029) 评论(0) 推荐(3)
摘要:Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice和QPaintEngine这三个类。它们三者的关系如下图所示: QPainter用来执行绘图操作; QPaintEngine提供了一些接口,可以用于QPainter在不 阅读全文
posted @ 2019-06-20 10:47 fengMisaka 阅读(7771) 评论(0) 推荐(1)
摘要:Qt 提供了一些常用的对话框类型,全部继承自 QDialog 类,并增加了自己的特色功能,比如获取颜色、显示特定信息等。 一、颜色对话框 颜色对话框类 QColorDialog 提供了一个可以获取指定颜色的对话框部件。 c++ / 第一种方式 / //QColor color = QColorDia 阅读全文
posted @ 2019-06-19 10:49 fengMisaka 阅读(3574) 评论(1) 推荐(1)
摘要:一、简介 QDir类用来访问目录结构及其内容,可以操作路径名、访问路径和文件相关信息以及操作底层的文件系统,还可以访问Qt的资源系统。Qt使用“/”作为通用的目录分隔符和URLs的目录分隔符,如果使用“/”作为目录分隔符,Qt会自动转换路径来适应底层的操作系统。QDir可以使用相对路径或者绝对路径来 阅读全文
posted @ 2019-06-18 14:21 fengMisaka 阅读(4375) 评论(1) 推荐(2)
摘要:一、输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile、QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口。QIODevice类是抽象的,无法被实例化,一般是使用它所定义的接口来提供设备无关的I/O功能。 QIODevice类的继承关 阅读全文
posted @ 2019-06-17 15:58 fengMisaka 阅读(5022) 评论(0) 推荐(1)
摘要:按钮的三态,指的是普通态、鼠标的悬停态、按下态。Qt中如果使用的是默认按钮,三态的效果是有的,鼠标放上去会变色,点击的时候有凹陷的效果。 但是如果自定义按钮实现三态效果有三种方法,一种是设置背景图,主要是需要自己设计按钮的效果图,另一种是通过样式控制不同状态下按钮的显示效果,还有一种是通过qss文件 阅读全文
posted @ 2019-06-17 15:13 fengMisaka 阅读(25523) 评论(2) 推荐(0)
摘要:一、简述 Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同。如果你熟悉CSS,可以快速浏览以下内容。不熟悉的话可以先去 "W3School CSS" 或者 "本人的CSS博客随笔" 简单了解一下。 在讲解样式表语法前,我们先看一个例子: 上面例子是 实现按钮三态效果 的样式表。 注:程序 阅读全文
posted @ 2019-06-17 15:08 fengMisaka 阅读(14648) 评论(2) 推荐(3)
摘要:一、Qt样式表介绍 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CSS)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界。 二、使用代码设置样式表 样式表使用文 阅读全文
posted @ 2019-06-17 15:00 fengMisaka 阅读(1872) 评论(0) 推荐(2)
摘要:在\头文件中,Qt提供了一些全局的模板函数,这些函数是可以使用在容器上的十分常用的算法。我们可以在任何提供了STL风格迭代器的容器类上用这些算法,包括QList、QLinkedList、QVector、QMap和QHash。如果在目标平台上可以使用STL,那么可以使用STL的算法来代替Qt的这些算法 阅读全文
posted @ 2019-06-15 16:16 fengMisaka 阅读(2376) 评论(0) 推荐(1)
摘要:一、介绍 遍历一个容器可以使用迭代器(iterators)来完成,迭代器提供了一个统一的方法来访问容器中的项目。Qt的容器类提供了两种类型的迭代器:Java风格迭代器和STL风格迭代器。如果只是想按顺序遍历一个容器中的项目,那么还可以使用Qt的foreach关键字。 二、Java风格的迭代器 Jav 阅读全文
posted @ 2019-06-15 16:15 fengMisaka 阅读(6514) 评论(0) 推荐(3)
摘要:一、介绍 Qt库提供了一套通用的基于模板的容器类,可以用这些类存储指定类型的项。比如,你需要一个大小可变的QString的数组,则使用QVector\。 这些容器类比STL(C++标准模板库)容器设计得更轻量、更安全并且更易于使用。如果对STL不熟悉,或者倾向于用“Qt的方式”,那么你可以使用这些类 阅读全文
posted @ 2019-06-15 13:50 fengMisaka 阅读(10123) 评论(0) 推荐(1)
摘要:一、对象树的概念 Qt中使用对象树(object tree)来组织和管理所有的QObject类及其子类的对象。当创建一个QObject时,如果使用了其他的对象作为其父对象(parent),那么这个 QObject就会被添加到父对象的children()列表中,这样当父对象被销毁时,这个QObject 阅读全文
posted @ 2019-06-15 10:58 fengMisaka 阅读(2641) 评论(0) 推荐(2)
摘要:一、信号和槽机制概述 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理 阅读全文
posted @ 2019-06-15 10:57 fengMisaka 阅读(2922) 评论(0) 推荐(1)
摘要:Qt提供了事件过滤器来实现在一个部件中监控其他多个部件的事件。事件过滤器与其他部件不同,它不是一个类,只是由两个函数组成的一种操作,用来完成一个部件对其他部件的事件的监视。这两个函数分别是 installEventFilter() 和 eventFilter(),都是QObject类中的函数。下面通 阅读全文
posted @ 2019-06-14 16:51 fengMisaka 阅读(1576) 评论(0) 推荐(2)
摘要:一、定时器 在头文件.h中进行声明: private slots: void timeOut(); // 定时器超时槽函数 在.cpp中进行实现相应的功能: // 构造函数 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::W 阅读全文
posted @ 2019-06-14 15:51 fengMisaka 阅读(3893) 评论(0) 推荐(0)
摘要:一、简介 QKeyEvent 类用来描述一个键盘事件。当键盘按键被按下或者被释放时,键盘事件便会被发送给拥有键盘输人焦点的部件。 QKeyEvent 的 key() 函数可以获取具体的按键,对于 Qt 中给定的所有按键,可以在帮助中查看 Qt: :Key 关键字。需要特别说明的是,回车键在这里是 Q 阅读全文
posted @ 2019-06-14 15:01 fengMisaka 阅读(16257) 评论(0) 推荐(3)
摘要:一、简介 linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。 二、安装linuxdeployqt 去github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件。 下载好 阅读全文
posted @ 2019-06-13 14:25 fengMisaka 阅读(31976) 评论(0) 推荐(3)
摘要:一、 QMouseEvent - 鼠标事件 QMouseEvent 类用来表示一个鼠标事件,当在窗口部件中按下鼠标、释放鼠标和移动鼠标指针时,都会产生鼠标事件 QMouseEvent。利用 QMouseEvent 类可以获知鼠标是哪个键按下释放了、鼠标指针的当前位置等信息。通常是重定义窗口部件的鼠标 阅读全文
posted @ 2019-06-11 10:00 fengMisaka 阅读(8031) 评论(0) 推荐(2)
摘要:一、简介 在 Qt 中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent、鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的继承关系图如下所示。本章会详细讲解这 3 个常见的事件,还会涉及事件过滤器和自定义事件的知识。关 阅读全文
posted @ 2019-06-06 16:47 fengMisaka 阅读(13353) 评论(5) 推荐(6)
摘要:一、简述 Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno Setup 打包工具打包成一个 exe 安装包,就可以发布了。 二、设置应用程序图标 我们编译好生 阅读全文
posted @ 2019-06-04 17:33 fengMisaka 阅读(45826) 评论(12) 推荐(1)

上一页 1 ··· 3 4 5 6 7 8 下一页