随笔分类 -  Qt学习

摘要:一、输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile、QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口。QIODevice类是抽象的,无法被实例化,一般是使用它所定义的接口来提供设备无关的I/O功能。 QIODevice类的继承关 阅读全文
posted @ 2019-06-17 15:58 fengMisaka 阅读(4709) 评论(0) 推荐(0) 编辑
摘要:按钮的三态,指的是普通态、鼠标的悬停态、按下态。Qt中如果使用的是默认按钮,三态的效果是有的,鼠标放上去会变色,点击的时候有凹陷的效果。 但是如果自定义按钮实现三态效果有三种方法,一种是设置背景图,主要是需要自己设计按钮的效果图,另一种是通过样式控制不同状态下按钮的显示效果,还有一种是通过qss文件 阅读全文
posted @ 2019-06-17 15:13 fengMisaka 阅读(22270) 评论(2) 推荐(0) 编辑
摘要:一、简述 Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同。如果你熟悉CSS,可以快速浏览以下内容。不熟悉的话可以先去 "W3School CSS" 或者 "本人的CSS博客随笔" 简单了解一下。 在讲解样式表语法前,我们先看一个例子: 上面例子是 实现按钮三态效果 的样式表。 注:程序 阅读全文
posted @ 2019-06-17 15:08 fengMisaka 阅读(13193) 评论(2) 推荐(3) 编辑
摘要:一、Qt样式表介绍 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CSS)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界。 二、使用代码设置样式表 样式表使用文 阅读全文
posted @ 2019-06-17 15:00 fengMisaka 阅读(1655) 评论(0) 推荐(2) 编辑
摘要:在\头文件中,Qt提供了一些全局的模板函数,这些函数是可以使用在容器上的十分常用的算法。我们可以在任何提供了STL风格迭代器的容器类上用这些算法,包括QList、QLinkedList、QVector、QMap和QHash。如果在目标平台上可以使用STL,那么可以使用STL的算法来代替Qt的这些算法 阅读全文
posted @ 2019-06-15 16:16 fengMisaka 阅读(2131) 评论(0) 推荐(1) 编辑
摘要:一、介绍 遍历一个容器可以使用迭代器(iterators)来完成,迭代器提供了一个统一的方法来访问容器中的项目。Qt的容器类提供了两种类型的迭代器:Java风格迭代器和STL风格迭代器。如果只是想按顺序遍历一个容器中的项目,那么还可以使用Qt的foreach关键字。 二、Java风格的迭代器 Jav 阅读全文
posted @ 2019-06-15 16:15 fengMisaka 阅读(6077) 评论(0) 推荐(2) 编辑
摘要:一、介绍 Qt库提供了一套通用的基于模板的容器类,可以用这些类存储指定类型的项。比如,你需要一个大小可变的QString的数组,则使用QVector\。 这些容器类比STL(C++标准模板库)容器设计得更轻量、更安全并且更易于使用。如果对STL不熟悉,或者倾向于用“Qt的方式”,那么你可以使用这些类 阅读全文
posted @ 2019-06-15 13:50 fengMisaka 阅读(8688) 评论(0) 推荐(1) 编辑
摘要:一、对象树的概念 Qt中使用对象树(object tree)来组织和管理所有的QObject类及其子类的对象。当创建一个QObject时,如果使用了其他的对象作为其父对象(parent),那么这个 QObject就会被添加到父对象的children()列表中,这样当父对象被销毁时,这个QObject 阅读全文
posted @ 2019-06-15 10:58 fengMisaka 阅读(2132) 评论(0) 推荐(0) 编辑
摘要:一、信号和槽机制概述 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理 阅读全文
posted @ 2019-06-15 10:57 fengMisaka 阅读(2603) 评论(0) 推荐(0) 编辑
摘要:Qt提供了事件过滤器来实现在一个部件中监控其他多个部件的事件。事件过滤器与其他部件不同,它不是一个类,只是由两个函数组成的一种操作,用来完成一个部件对其他部件的事件的监视。这两个函数分别是 installEventFilter() 和 eventFilter(),都是QObject类中的函数。下面通 阅读全文
posted @ 2019-06-14 16:51 fengMisaka 阅读(1381) 评论(0) 推荐(0) 编辑
摘要:一、定时器 在头文件.h中进行声明: private slots: void timeOut(); // 定时器超时槽函数 在.cpp中进行实现相应的功能: // 构造函数 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::W 阅读全文
posted @ 2019-06-14 15:51 fengMisaka 阅读(3488) 评论(0) 推荐(0) 编辑
摘要:一、简介 QKeyEvent 类用来描述一个键盘事件。当键盘按键被按下或者被释放时,键盘事件便会被发送给拥有键盘输人焦点的部件。 QKeyEvent 的 key() 函数可以获取具体的按键,对于 Qt 中给定的所有按键,可以在帮助中查看 Qt: :Key 关键字。需要特别说明的是,回车键在这里是 Q 阅读全文
posted @ 2019-06-14 15:01 fengMisaka 阅读(14787) 评论(0) 推荐(2) 编辑
摘要:一、 QMouseEvent - 鼠标事件 QMouseEvent 类用来表示一个鼠标事件,当在窗口部件中按下鼠标、释放鼠标和移动鼠标指针时,都会产生鼠标事件 QMouseEvent。利用 QMouseEvent 类可以获知鼠标是哪个键按下释放了、鼠标指针的当前位置等信息。通常是重定义窗口部件的鼠标 阅读全文
posted @ 2019-06-11 10:00 fengMisaka 阅读(7132) 评论(0) 推荐(1) 编辑
摘要:一、简介 在 Qt 中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent、鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的继承关系图如下所示。本章会详细讲解这 3 个常见的事件,还会涉及事件过滤器和自定义事件的知识。关 阅读全文
posted @ 2019-06-06 16:47 fengMisaka 阅读(10871) 评论(5) 推荐(5) 编辑
摘要:一、简介 用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小、位置和密码等等。有三种方法可以实现: 使用注册表; 使用配置文件(.ini); 使用自定义文件(例如.txt)。 二、使用注册表 注册表(Registry)是Windows中的一个重要的数据库,用于存储系统和应 阅读全文
posted @ 2019-06-03 10:46 fengMisaka 阅读(3540) 评论(0) 推荐(0) 编辑
摘要:QString 是 Qt 中使用频率最高的几种数据类型之一,主要在于其提供了大量功能强大的成员函数,这里重点介绍一些常用的成员函数: 一、字符串处理相关 1.1 split() (拆分字符串) split() 函数可以将一个字符串,拆分成一个装有多个子串的 QStringList。示例如下: c++ 阅读全文
posted @ 2019-05-30 14:46 fengMisaka 阅读(5633) 评论(0) 推荐(1) 编辑
摘要:QString 转 const char * QString str = "abc"; const char *ch1 = array.toLatin1().data(); qDebug() << ch1; // "abc" const char *ch2 = str.toStdString().c 阅读全文
posted @ 2018-12-30 21:58 fengMisaka 阅读(232) 评论(0) 推荐(0) 编辑
摘要:一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友好,更加吸引用户。作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制。这一章将学习在Qt中设计应用程序外观的相关知识,会对Qt风格QStyle和调色板QPalette进行简单介绍,以及介绍不规则窗 阅读全文
posted @ 2018-12-17 21:19 fengMisaka 阅读(9926) 评论(2) 推荐(1) 编辑
摘要:一、拖放操作 对于一个实用的应用程序,不仅希望能从文件菜单中打开一个文件,更希望可以通过拖动直接将桌面上的文件拖入程序界面上来打开,就像可以将.pro文件拖入Creator中来打开整个项目一样。Qt中提供了强大的拖放机制,可以在帮助中查看 Drag and Drop 关键字来了解。拖放操作分为拖动( 阅读全文
posted @ 2018-12-17 21:08 fengMisaka 阅读(1259) 评论(0) 推荐(0) 编辑
摘要:对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏、工具栏、状态栏和中心区域等。这一章会详细介绍主窗口的每一个部分,还会涉及资源管理、富文本处理、拖放操作和文档打印等相关内容。重点是讲解知识点,而相关的综合应用实例放到了《Qt及Qt Quick开发实战精解》一书中。 Qt中提供了 阅读全文
posted @ 2018-12-16 12:18 fengMisaka 阅读(2980) 评论(0) 推荐(0) 编辑