Qt
文章平均质量分 61
Qt相关,包括环境搭建,基本的使用等
Andrea-地面宇航员
步履不停,运指不歇 ✍
展开
-
ubuntu18上Qt5移植Opencv3.2.0 遇到的坑
ubuntu18上Qt5移植Opencv3.2.0 遇到的坑编译报错1报错信息找不到Mat类的定义检查以下几个地方//包含头文件和命名空间#include <opencv2/opencv.hpp>using namespace cv;工程文件中添加要链接的库,在原有的内容上添加如下的内容 INCLUDEPATH += /usr/local/opencvINCLUDEPATH += /usr/local/opencv2CONFIG(debug, debug|re原创 2021-09-05 09:17:09 · 172 阅读 · 0 评论 -
Qt中TCP通信的实现
一. socketsocket抽象层socket抽象层以下包括socket抽象层都是操作系统封装好的除非你是系统开发工程师,所以一般的软件开发工程都是使用socket提供的接口结合应用层的协议开发应用程序,常见的应用层协议像是HTTP、HTTPS用于web开发,MQTT用于物联网设备间的通信二. Qt中的TCP通信实现2.1 网络相关的类2.2 Qt中的TCP客户端编程对于QTcpSocket可以看成一种Qt中的IO设备,按照常规的IO操作方式读写网络数据即可QTcpS原创 2021-08-08 15:19:11 · 871 阅读 · 0 评论 -
Qt事件初探-发现事件
Qt事件初探-发现事件一. Qt中的消息处理机制用户、操作系统和GUI应用程序用户操作硬件,操作系统检测到硬件的动作产生了系统消息,把这些系统消息传递给我们的GUI应用程序,在GUI应用程序内QApplication 会把这些系统消息抽象成事件,传递给QObject组件,不同的QObject组件有自己的事件处理函数,比如,按钮类QPushButton会把按键按下这个事件转换成clicked()信号。GUI应用程序内关键的类 QApplication 和 QObject二. 发现事件实验原创 2021-08-07 15:11:32 · 93 阅读 · 0 评论 -
Qt中事件的传递过程
事件的传递过程一. 事件的传递过程事件被组件对象处理后可能传递到其父组件对象二. QEvent中的关键成员函数函数的功能ignore():忽略当前事件,可能会传递给父组件accept():接收者处理当前事件isAccepted():判断当前事件是否被处理三. 实验实验#ifndef MYLINEEDIT_H#define MYLINEEDIT_H#include <QLineEdit>class MyLineEdit : public QLineE原创 2021-08-07 14:18:17 · 813 阅读 · 1 评论 -
使用二阶构造实现计算器页面的构造过程
二阶构造一. 构造函数1.1 构造函数的特点类的构造函数用于对象的初始化构造函数与类同名并且没有返回值构造函数在对象定义时自动被调用所以构造函数只能决定的只是对象的初始状态,而不是对象的诞生1.2 构造的过程资源无关的初始化操作:不会出现异常情况的操作需要使用系统资源的操作:可能出现异常情况,如:内存申请,访问文件等 二. 使用二阶构造实现计算器页面的构造过程1.1 代码类的声明#ifndef WIDGET_H#define WIDGET_H#inclu原创 2021-08-05 05:43:15 · 206 阅读 · 0 评论 -
Qt中的事件处理
Qt中的事件处理初探一. 图形界面应用程序的消息处理模型二. Qt事件Qt平台将系统产生的消息转换为Qt事件是一个QEvent的对象Qt事件用于描述程序内部或外部发生的动作任意的QObject对象都具备事件处理能力#mermaid-svg-AeSlApOatXSn2Xj4 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;co原创 2021-08-04 00:00:15 · 159 阅读 · 2 评论 -
主窗口 (QMainWindow)
主窗口 (QMainWindow)一. 主窗口概念主窗口是与用户进行长时间交互的顶层窗口程序的绝大多数功能直接由主窗口提供主窗口通常是应用程序启动后显示的第一个窗口整个程序由一个主窗口和多个对话框组成二. Qt中的主窗口(QMainWindow)QMainWindow是Qt中主窗口的基类QMainWindow继承于QWidget,是一种容器类型的组件QMainWindow中的组件布局三. 主窗口中的菜单和菜单相关的组件[外链图片转存失败,源站可原创 2021-08-03 16:36:27 · 2877 阅读 · 0 评论 -
Qt工程添加资源文件(例如:图标)
Qt工程添加资源文件(例如:图标)右键工程名-》添加新文件Qt -》 Qt Resource File -》Choose为资源文件起一个名字添加到工程,点击完成 在工程目录中发现,出现一个新的目录和一个后缀是 .qrc的文件 点击src.qrc右侧出现窗口,添加前缀-》为前缀起一个名字-》添加文件(此处要添加工程需要的图标所需的图片)弹出文件对话框,选择图片文件,笔者直接放到了工程文件夹下发现出现一个图片,这个就是我们添加好的资源文件,在Qt代码原创 2021-08-03 15:47:27 · 440 阅读 · 0 评论 -
布局管理器
布局管理器作用:能够自动排列窗口中的界面组件窗口变化后自动更新界面组件的大小QLayout是Qt中的抽象基类#mermaid-svg-5FGivbdV6A0VBbzs .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-5FGivbdV6A0VBbzs .label text{fill:#33原创 2021-08-03 10:35:40 · 81 阅读 · 0 评论 -
Qt中的标准对话框
Qt中的标准对话框#mermaid-svg-L0yk8JgrGcSo63Gj .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-L0yk8JgrGcSo63Gj .label text{fill:#333}#mermaid-svg-L0yk8JgrGcSo63Gj .node rect,#mermaid-svg-原创 2021-08-02 14:39:16 · 130 阅读 · 0 评论 -
登录对话框的设计和实现
登录对话框一. 需求分析代码可复用可以获取用户名和密码二. 登录对话框的设计与框架类图#mermaid-svg-VX5hyfNNbwbNVM8t .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-VX5hyfNNbwbNVM8t .label text{fill:#333}#mermaid-sv原创 2021-08-02 11:44:45 · 248 阅读 · 0 评论 -
QDialog - 对话框
QDialog - 对话框一. 对话框对话框是与用户进行简短交互的顶层窗口QDialog是Qt中所有对话框QDialog继承于QWidget是一种容器类组件#mermaid-svg-KInPoppaaDHgM8oX .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-KInPoppaaDHg原创 2021-08-02 10:46:40 · 143 阅读 · 0 评论 -
计算器字符串转换问题
计算器字符串转换问题一. 中缀表达式和后缀表达式中缀表达式(人类可以看懂的四则运算表达式,运算符在运算元素中间)(1+2)∗3−−6 (1+2)*3--6 (1+2)∗3−−6计算机计算的逻辑是,一个双目运算符对应一个运算指令,参与运算的是两个数字,所以一般表示成 如下格式(1+2)==》 1 2 +3*3 ==》 3 3 *9–6 ==》 9 -6 -二. 解决方法将中缀表达式进行数字和运算符的分离包含的元素有:数字和小数点:0~9和原创 2021-08-01 18:38:18 · 79 阅读 · 0 评论 -
Qt中的字符串类
Qt中的字符串类一. QString类的特点采用Unicode编码使用隐式共享技术来节省内存和不必要的数据拷贝跨平台使用,不必考虑字符串的平台兼容性二. QString类的一些使用方法定义、赋初值和打印void test1(){ QString s1("hello"); QString s2= " world"; QString s3 = s1+s2; QString s4 = "にいはお"; qDebug() << s1;原创 2021-08-01 17:53:29 · 112 阅读 · 0 评论 -
用户自定义槽函数
用户自定义槽函数一. 自定义槽函数只有QObject的子类才能自定义槽定义槽的类必须在声明的最开始处使用Q_OBJECT类中声明槽时需要使用slots关键字槽与所处理的信号在函数签名上必须移植SIGNAL和SLOT所指定的名称中:可以包含参数类型,不能包含具体的参数名二. 计算器页面的按钮点击后可以打印按钮上的字符串头文件#ifndef _QCALCULATORUI_H_#define _QCALCULATORUI_H_#include <QWi原创 2021-08-01 16:28:11 · 581 阅读 · 0 评论 -
Qt中的消息处理
Qt中的消息处理一. Qt中的消息模型Qt封装了具体操作系统的消息机制Qt遵循经典的GUI消息驱动事件模型二. 信号与槽 (Qt中与系统消息相关的概念)信号(signal):由操作系统产生的消息槽(slot):程序中的消息处理函数链接(connect):将系统消息绑定到消息处理函数三. Qt中的消息处理机制Qt中的消息处理机制如下图发生在两个QObject类之间,意味着这两个具体的组件对象必须直接或者间接继承自QObject这个类QObject1会发送某个信号,比如原创 2021-08-01 16:05:59 · 126 阅读 · 0 评论 -
计算器界面设计与实现
计算器界面设计与实现一. 计算器界面设计设计二. 注意事项计算器界面没有最大化、最小化按钮和帮助按钮,只有关闭按钮界面大小不能改变,是固定的功能性组件比较多,如果构造功能性组件的过程中构造失败,需要释放掉之前构造工作的组件,解决方法采用二次构造三. 实现代码如下#ifndef CALCULATORUI_H#define CALCULATORUI_H#include <QWidget>#include <QLineEdit>#include原创 2021-08-01 12:33:25 · 2116 阅读 · 0 评论 -
Qt中的坐标系统
Qt中的坐标系统一. 坐标系统的作用进行窗口和部件的定位左上角顶点为(0,0),水平为x轴,右方为正方向,垂直为y轴,下方为正方向长度单位为像素px二. 定位类型顶级窗口部件的定位窗口内部件的定位窗口部件的大小设置三. 坐标系统顶级窗口的坐标表示x()y()width()height()geometry() 窗口内部件的定位geometry().x()geometry().y()geometry().width()geometry()原创 2021-08-01 12:00:44 · 126 阅读 · 0 评论 -
Qt种的窗口类型
Qt种的窗口类型一. 窗口分类容器类(父组件):用于包含其他的界面组件功能类(子组件):用于 实现特定的交互功能二. 顶级组件特点:Qt中没有父组件的顶级组件叫做窗口当我们创建GUI工程的时候,配置一个工程模板的时候,Qt推荐给我们顶级组件的父类有三种:QMainWindow(主窗口)、QWidget(窗口)、QDialog(对话框)...原创 2021-07-30 15:06:12 · 535 阅读 · 0 评论 -
初识QWidget
初识QWidget在Qt中QWidget是一个非常关键和重要的类,推荐初学Qt的同学们第一个学习此类在Qt的帮助手册中我们搜索QWidget,可以看到下图的描述通过帮助手册我们了解到如果想使用QWidget这个类,需要包含QWidget这个头文件,Qt特逗,头文件就是类名,一般确定使用什么类的话,直接在头文件处包含和类同名的头文件即可在工程文件中还需要添加 widgets 这个模块QWidget这个类继承了两个父类:QObject和QPaintDeviceQObject:使得原创 2021-07-30 14:44:30 · 293 阅读 · 0 评论 -
第一个Qt工程分析
第一个Qt工程分析创建好第一个Qt工程后,我们看下Qt工程的基本组成,和它的特点一. Qt工程的组成根据我们刚才创建工程对模板的配置,可以得到下图左侧的工程目录文件1-Qtest:和工程同名的目录文件,表示整个工程,箭头下面看到的是整个工程的目录结构,在系统中以文件夹的形式存在1-Qtest.pro:和工程同名的工程文件,.pro文件在Qt工程中意义重大,用来配置和管理工程的,通过这个.pro工程文件,qmake可以生成各种系统下的Makefile,其中的一些语法和Makefile原创 2021-07-30 12:39:49 · 471 阅读 · 0 评论 -
Qt 暗夜模式的设置
Qt 暗夜模式的设置一. 先配置为Dark风格二. 配置编辑器的风格工具-》选项文本编辑器 -》 字体和颜色在此配置字体和颜色笔者的选择见下图在这里插入代码片最终配置得到的效果还不戳~ 咦耶~ ...原创 2021-07-30 10:46:58 · 1931 阅读 · 0 评论 -
创建第一个Qt工程
创建第一个Qt工程文件-》新建文件或项目选择工程的类型,这里笔者选择的是GUI应用程序开发使用的配置,即 Application-》Qt Widgets Application为项目起一个名字,并且选择一个保存的路径,注意:项目名称和路径不要有中文字符选择编译工具,保持默认,使用qmake即可为工程配置一个工程模板,这里保持默认即可,下面的含义是,类名为MainWindow继承自Qt中的QMainWindow这个类,头文件叫mainwindow.h,源文件叫mainw原创 2021-07-30 10:28:53 · 134 阅读 · 0 评论 -
Qt-Windows安装教程
Qt-Windows安装教程下载安装包 - qt-opensource-windows-x86-5.14.2百度链接: https://pan.baidu.com/s/1nxAZ4EIPDQu2gREH7cHepg提取码:lgt5以管理员权限运行,Next输入QT账号和密码,没有注册过的需要到官网注册,Next同意协议,下一步建议选择安装的组件,下一步同意许可协议,下一步安装程序,下一步等待安装安装完毕,点击完成添加环境变量一般在安装路径下的/5.14.2/mi原创 2021-02-07 21:00:47 · 380 阅读 · 0 评论