- 博客(22)
- 资源 (4)
- 收藏
- 关注
原创 Qt学习之路22--文本流和数据流
Qt中的文件分为两类文本文件:文件内容是直接可读的字符数据文件:文件内容是二进制数据在上一节中的QFile直接支持文本文件和数据文件的读写,具体见https://blog.csdn.net/tqs_1220/article/details/82193502。如何将一个浮点数写入文本文件或数据文件?按照之前的方式可以直接通过QFile类将浮点数写入到文件。QFile f...
2018-08-30 23:05:15 3207
原创 Qt学习之路21--文件操作
Qt中IO操作的处理方式Qt通过统一的接口简化了文件与外部设备的操作方式,秉承了Linux下的“一切皆文件”。Qt中的文件操作与外部设备操作相同,文件操作就是一种特殊的外部设备,都属于IO操作。IO设备操作四部曲:打开设备、读设备数据、写设备数据、关闭设备。 打开设备 bool open(OpenMode mode)读取数据QByteArray read(qint64 maxsize...
2018-08-29 23:38:53 746 1
原创 Qt学习之路20--文本编辑组件
Qt中支持三种常用的文本编辑组件:QLineEdit:单行文本编辑组件QPlainTextEdit:多行普通文本编辑组件QTextEdit:多行富文本编辑组件,在普通的文本格式下增加了一些多媒体(图片视频等)的效果 在Qt中,越是在顶层的类相对来说功能就会越简单,而继承关系越靠后的类使用相对就会更复杂。三种编辑组件的异同点往编辑组件插入内容和获取内容QLin...
2018-08-27 23:21:00 651
原创 Qt学习之路18--主窗口QMainWindow之菜单栏QMenubar
什么是主窗口? 主窗口通常是应用程序启动后显示的第一个窗口,是与用户进行长时间交互的顶层窗口,因为绝大的功能都是由主窗口进行提供,还有部分功能由对话框提供。 在Qt中直接支持主窗口的概念,通过QMainWindow类来提供主窗口所需的所有方法。...
2018-08-26 20:01:02 8136
原创 Qt学习之路17--布局管理器之向导界面
前前后后学习了四种布局管理器了,分别是盒子布局管理器QBoxLayout、网格布局管理器QGridLayout、表单布局管理器QFormLayout、栈式布局管理器QStackedLayout。练习可以通过这四种布局管理器实现一个向导界面,向导界面的作用就不用多说了吧,在电脑上装过软件的人都接触过,下一步、下一步、下一步、完成。向导界面就是用来指引用户操作的。 练习要求:在同一个界面...
2018-08-24 23:17:24 1824 1
原创 Qt学习之路16--布局管理器(QStackedLayout)和QTimer
前言QStackedLayout,通过名字里带有一个stack,大概可以猜到今天学习的布局管理器的行为应该和stack相关,也就是和栈相关,通过栈能想到栈的后进先出以及每次只能拿到栈顶的数据,没错,今天学的就叫栈式布局管理器,这是最特别的一个布局管理器。QStackedLayout特点所有组件垂直于屏幕的方向被管理被管理的组件都能够被显示在屏幕上但每次只有一个组件被显示在屏幕上...
2018-08-21 23:26:15 1751
原创 Qt学习之路15--布局管理器(QFormLayout)
前面两节学习了布局管理器中的QBoxLayout和QGridLayout。 今天学习Qt中的第三种布局管理器–QFormLayout 在正式介绍之前抛出一个问题,怎样设计下面这个GUI界面? 根据之前学习过的内容来看有以下三种方式: - 绝对定位,左边摆放QLabel,右边放QLineEdit。 - 嵌套使用QBoxLayout,在QVBoxLayout中嵌套使用QHBoxLayou...
2018-08-20 23:25:55 23342 5
原创 Qt学习之路14--布局管理器(QGridLayout)
上一节讲过以行列布局的QBoxLayout布局管理器,最后通过布局管理器嵌套的方式实现了两行两列的布局,今天我们学习另外一种布局管理器QGridLayout,它也能实现同样的功能。 由于网格布局管理器中的组件也是会随着窗口拉伸而发生变化的,所以也是需要设置组件之间的比例系数的,与QBoxLayout不同的是,网格布局管理器需要分别设置行和列的比例系数layout->setRow...
2018-08-19 23:07:10 56837 5
原创 Qt学习之路13--布局管理器(QBoxLayout)
布局管理器在之前的GUI开发中我们通常使用绝对定位的方式,通过move函数和resize函数进行位置确定,这种方式是直接在像素级别上进行定位,这样的方式就会存在一个比较严重的问题,那就是坐标信息无法进行根据窗口大小进行位置自适应。在Qt中有另外一种方案能够实现对窗口组件进行布局–布局管理器。通过使用布局管理器后能够使得窗口中的组件进行自动排列;当窗口大小发生变化后其内部的组件大小也会随之...
2018-08-19 22:11:00 2411 2
原创 Qt学习之路12--Qt标准对话框(字体对话框、进度条对话框和打印对话框)
使用预定义对话框的三板斧原则:定义对象后设置父组件和属性、模态调用exec()、根据结果判断执行流程。字体对话框字体对话框属于Qt预定义的对话框类型,它的作用就是通过用户得到字体类型并返回。QFontDialog dia(this);dia.setWindowTitle("Font Dialog Test");dia.setCurrentFont(QFont("Courier Ne...
2018-08-19 15:53:47 2475 1
原创 Qt学习之路11--Qt标准对话框(颜色对话框和输入对话框)
在上一篇里面,学习了两种Qt提供的标准对话框,消息对话框和文件对话框,消息对话框用于向用户提示信息;文件对话框用户获取用户选择的文件路径。 继续学习 Qt提供的其他两种对话框,颜色对话框和输入对话框。颜色选择对话框颜色对话框用于指定颜色,常规使用方式遵循三板斧原则。 Qt中以QColor类来表示颜色的概念,它支持多种颜色表示方式。 - RGB:以红、绿、蓝为基准的三色模型。 - H...
2018-08-18 22:11:41 8282
原创 Qt学习之路10--Qt标准对话框(消息提示对话框和文件对话框)
虽然我们可以使用QDialog类进行自定义对话框的开发,但是Qt为了方便开发,提供了几种可复用的对话框类型,它们都继承自QDialog类。 分别是消息对话框、打开文件对话框、打印对话框、颜色选择对话框、输入对话框和进度条对话框,由于篇幅,将分次学习标准对话框,本次学习消息提示对话框和文件选择对话框。 因为Qt中所有类型的对话框都继承自QDialog类,那么所有的对话框都遵循三板斧:定义对象...
2018-08-17 23:46:49 28196
原创 Qt学习之路9--对话框
概念对话框是与用户进行简短交互的顶层窗口。其中QDialog是继承自QWidget的所有对话框的基类。QDialog是一种容器类型的组件。QDialog作为一种专用的交互窗口而存在,所以在设计上应该保证功能单一。由于QDialog是顶层窗口,所以不能把它嵌入到其他容器里面。QDialog是定制了窗口式样的的特殊的QWidget。QDialog和QWidget在样式上很相像,但是在...
2018-08-16 22:42:53 592
原创 Qt学习之路8--Qt对象间父子关系
在之前的控件使用中我们只使用过new,而没有使用delete,这难道不会造成内存泄漏吗???然而事实是由于是使用Qt对象进行开发,所以不会存在内存泄漏,这是为什么呢?下面细细道来。 什么是Qt对象?Qt对象指的是我们定义的类它继承了QObject类,由这个类定义的对象才叫Qt对象。 Qt对象有什么特别的呢?Qt对象间可以存在父子关系,即每个对象都保存有它的所有子对象的指针,由一个链表保存起来;...
2018-08-15 22:36:48 2274
原创 Qt学习之路7--字符串类QString
字符串的概念在C语言中就存在,有一个历史遗留问题,就是C语言其实是不支持真正意义上的字符串,它是通过字符数组和一组函数实现字符串的操作。 但是在C到C++的进化之后C++已经支持通过定义类来定义自定义类型,这样就可以自定义字符串类,但是在C++发布时一同发布了STL标准库,其中包含了字符串类std::string类类型。 STL全名叫标准模板库,其标准体现在接口标准: - 相同的全局函数 ...
2018-08-12 19:24:05 18556
原创 Qt学习之路6--消息处理之信号与槽
消息与消息处理我们都知道在Qt中的消息处理机制是信号与槽,在实际程序开发中也就是通过将组件产生的信号与对应的槽函数连接起来就可以实现预想的功能了,那么应用程序是如何感知到这个信号的? 在Qt中封装了具体操作系统的消息机制,遵循经典的GUI消息驱动事件模型。 当产生一个用户事件后,首先得到感知的肯定是操作系统,操作系统根据事件类型将其转换成对应的应用程序消息发给应用程序,程序收到这个消息后就...
2018-08-10 22:44:48 2165
原创 Qt学习之路4--简单计算器界面开发
在之前的学习中我们学习了标签组件和按钮组件,标签用来显示一个字符串,带有提示性作用,在使用它时需要将标签对象和父组件绑定在一起;按钮组件也是一个功能性组件,需要父组件作为容器,它的的作用就是当你按下这个按钮时会触发某个操作,和标签组件一样,它们都能在父组件中定位。 在今天的开发中需要用到另一种组件,就是QLineEdit文本框,它用来接收用户的输入、获取字符串并显示出来,和QLabel、QPus...
2018-08-06 23:33:45 3958 2
原创 Qt学习之路3--坐标系统、窗口部件位置大小设置及简单的QPushButton使用
坐标系统每个GUI操作系统都有特定的坐标系统,坐标系统用于在图形界面程序中进行窗口、组件的定位(定位的前提就是要有坐标系统),及窗口部件的大小设置。 其中定位类型有顶级窗口组件的定位、窗口内部的组件定位和窗口部件的大小设置。Qt中使用统一的坐标系统定位窗口部件的位置和大小。 Qt的组件类提供成员函数在坐标系统中进行定位,如函数x()、y()。 QWidget类提供了窗口部件所需的坐...
2018-08-02 23:12:28 27882
原创 Qt学习之路2--窗口组件(附带QLabel使用)及窗口类型
窗口组件图形用户界面由不同的窗口和窗口组件构成 头文件包含窗口组件,对应Qt中的GUI模块 Qt以组件对象的方式构建图形用户界面,以搭积木的方式将一个界面搭建出来 其中组件的类型包括两大类: 容器类(父组件):用于包含其他的界面组件。 功能类(子组件):用于实现特定的交互功能。 一个GUI包括许多图形组件,其中容器组件就是为了承载别的功能组件,功能组件就是用来提供交互功能的部件,比...
2018-08-01 22:38:58 4846
原创 Qt学习之路1--简单介绍Qt开发
大概有四个月没有更新技术博客了,虽然写的还是很菜,我觉得对我还是有用的,在需要时查起来很方便,刚好最近在公司里跟的项目需要用到Qt,趁着机会复习一下之前学的内容,这样也能更快速的阅读项目中的代码,这期间有一个挺长的过程,所以勉励自己从一开始就保存下自己的心得体会,为日后翻阅提供第一手资料...
2018-08-01 20:03:57 1492
基于STM32的智能节水控制系统
2021-03-28
基于STM32的语音功能的电子密码锁
2021-03-28
基于STM32的家庭安防控制系统
2021-03-28
基于stm32的电子密码锁
2020-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人