LifeYx - 博客园
摘要: 1.用户界面类设计 需要使用QWidget组件作为顶层窗口,QLineEdit组件作为输入框,QPsuhButton作为按钮 1.1 在代码里处理按键消息时,需要处理下用户输入的格式(方便逻辑模块计算) 1)匹配括号成对出现,左括号必然先于右括号出现 当有左括号出现时,则status++ 当有右括号阅读全文
posted @ 2018-04-21 15:01 LifeYx 阅读(145) 评论(0) 编辑
摘要: Qt中的字符串类 介绍 采用Unicode编码 采用隐式共享技术,节省内存和不必要的数据拷贝 隐式共享介于浅拷贝和深拷贝之间,当两个string对象赋值时,会实现浅拷贝(共享一块内存),如果某个对象被修改了,则会实现深拷贝(从新开辟内存) 跨平台使用,不需要考虑不同平台的兼容性 QString直接支阅读全文
posted @ 2018-04-19 16:43 LifeYx 阅读(13) 评论(0) 编辑
摘要: C++中的stack 实现一种先进后出的数据结构,是一个模板类. 头文件 #include<stack> 用法(以int型为例): 代码示例: QT中的QStack 它的父类是QVector,是个模板类 常用用法(以int型为例): 代码示例: 运行:阅读全文
posted @ 2018-04-19 16:35 LifeYx 阅读(11) 评论(0) 编辑
摘要: C++中的queue 实现一种先进先出的数据结构,是一个模板类 头文件 #include<queue> 用法(以int型为例): 代码示例: QT中的QQueue 它的父类是QList,是个模板类 常用用法(以int型为例): 代码示例: 打印:阅读全文
posted @ 2018-04-19 16:27 LifeYx 阅读(21) 评论(0) 编辑
摘要: 本章主要内容如下: 1) 窗口组件(QWidget) 2) QT坐标系统 3) 初探消息处理(信号与槽) 窗口组件(QWidget) 介绍 Qt以组件对象的方式构建图形用户界面 Qt中没有父组件的顶级组件,则被叫做窗口 组件的类型分为: 容器类(父组件) : 用于包含功能的界面组件 功能类(子组件)阅读全文
posted @ 2018-04-18 16:56 LifeYx 阅读(23) 评论(0) 编辑
摘要: 第一个程序 - Hello QT 首先写main.cpp: win平台上,命令行编译 进入main.cpp所在目录“1.Hello QT”,输入: 接下来,进入debug文件,运行1.exe: 如果想删除配置: linux平台上,命令行编译 同样输入: 运行: 3.使用Qt creator编译 注意阅读全文
posted @ 2018-04-16 22:47 LifeYx 阅读(191) 评论(0) 编辑
摘要: C++内置了异常处理的语法元素 try catch try语句处理正常代码逻辑 当try语句发现异常时,则通过throw语句抛出异常,并退出try语句 catch语句处理异常情况 当throw语句抛出异常时,则会直接跳到catch语句处理 catch语句允许被重载,在try语句后面可以有多个catc阅读全文
posted @ 2018-04-14 16:14 LifeYx 阅读(36) 评论(0) 编辑
摘要: 异常处理之除0情况 相信大家处理除0时,都会通过函数,然后判断除数是否为0,代码如下所示: 其实这个函数还有瑕疵,当我们调用divide(0,1)时,返回值也是0,在程序运行时,根本无法判断返回值0是不是除法为0的原因. 其实可以通过setjmp()和longjmp()配合使用 描述 和goto很相阅读全文
posted @ 2018-04-13 15:18 LifeYx 阅读(40) 评论(0) 编辑
摘要: 1.原理: 通过定时器每隔一段时间触发一次DAC转换,然后通过DMA发送正玄波码表值给DAC. 当需要改变频率HZ时,只需要修改定时器频率即可(最高只能达到20KHz) 当需要改变正玄波的正峰峰值/负峰峰值时,只需要修改正玄波码表即可 2.实现 代码如下所示(采用的是定时器2,DAC引脚是PA4) 阅读全文
posted @ 2018-04-13 14:46 LifeYx 阅读(41) 评论(0) 编辑
摘要: 单例类 描述 指在整个系统生命期中,一个类最多只能有一个实例(instance)存在,使得该实例的唯一性(实例是指一个对象指针) , 比如:统计在线人数 在单例类里,又分为了懒汉式和饿汉式,它们的区别在于创建实例的时间不同: 懒汉式 : 指代码运行后,实例并不存在,只有当需要时,才去创建实例(适用于阅读全文
posted @ 2018-04-12 22:28 LifeYx 阅读(43) 评论(0) 编辑