
QT
文章平均质量分 58
只爱编程的菜鸟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络编程重点
1.想要在程序中使用 Qt 网络模块,我们需要在 pro 项目配置文件里增加下面的一条语句:QT += network2.获取本机的网络信息Qt 提供了 QHostInfo 和 QNetworkInterface 类用于关于本机的网络信息查询(IP地址、MAC地址、主机名)。private: /*点击获取和清空文本按钮*/ QPushButton *pushButton[2]; /*文本浏览框用于显示本机的信息*/ QTextBrowser *textBrowser;/*点击获取本地信原创 2022-04-06 22:33:36 · 421 阅读 · 0 评论 -
Qt学习笔记
1.信号与槽关联是用QObject::connect()函数实现的,其基本格式是:QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));sender是发射信号的对象的名称,receiver是接受信号的对象名称,signal()是信号名称,slot是槽函数connect(pushButton,SIGNAL(clicked()),this,SLOT(close()));一个信号可以连接另一个信号(说明connect万物皆可原创 2022-03-19 16:20:55 · 810 阅读 · 0 评论 -
Qt中的多线程编程
1.Qt中通过QThread直接支持多线程QThread是一个跨平台的多线程解决方案QThread以简介易用的方式实现多线程编程QThread中的关键成员函数;void run():线程体函数,用于定义线程功能(执行流)void start():启动函数,将线程入口地址设置为run函数void terminate():强制结束线程(不推荐)QThread编程实例:QThread编程示例:...原创 2022-02-22 22:53:03 · 627 阅读 · 0 评论 -
Qt进程与线程概念
1.程序和进程的区别程序是硬盘中静态的文件:存储系统中的一段二进制表示进程是内存中动态的运行实体:数据段,代码段,PC指针,等2.程序和进程的联系一个程序可能对应多个进程:一个程序多次运行,每次运行产生一个进程一个进程可能包含多个程序:一个程序依赖多个其他动态库注意:资源分配的基本单位是进程;CPU调度执行的基本单位是线程3.线程的概念进程内的一个执行单元操作系统中的一个可调度的实体进程中相对独立的一个控制流序列执行时的现场数据和其他调度所需的信息4.深入理解进程和线程进程中可以存原创 2022-02-22 21:18:25 · 411 阅读 · 0 评论 -
Qt Tcp网络编程
1.Qt中的TCP客户端编程Qt中的TCP客户端编程:对于Qt编程而言,网络只是数据传输的通道Qt提供了QTcpSocket类(封装了TCP协议细节)将QTcpSocket的对象当做黑盒使用,进行数据收发 QTcpSocket的使用方式:1.连接服务端主机(connectToHost())2.发送数据/接受数据(write()/read())3.关闭连接(close())QTcpSocket的注意事项:默认情况下,QTcpSocket使用异步编程的方式:操作完成后立即返回通过发送信原创 2022-02-20 17:32:12 · 2902 阅读 · 0 评论 -
Qt网络编程
1.网络基本概念MAC地址(硬件地址):网络设备出厂时设定的全球唯一硬件地址网络地址(软件地址):每一台网络主机都有唯一的地址网络端口:每一台网络主机可以通过不同端口进行多路通信交换机:端到端数据转发 基于硬件地址实现不同设备间的数据转发 特点:工作层次低,转发速度快路由器:决定数据转发路线,执行转发操作 基于软件地址实现不同网络间的数据转发 特点:能够选择数据通道,实现通信控制...原创 2022-02-19 15:03:27 · 3888 阅读 · 1 评论 -
Qt中的文件操作
1.Qt中IO操作的处理方式Qt通过统一的接口简化了文件与外部设备的操作方式Qt中的文件被看做一种特殊的外部设备Qt中的文件操作与外部设备的操作相同2.IO操作中的关键函数接口打开设备:bool open(OpenMode mode)读取数据:QByteArray read(qint64 maxSize)写入数据:qint64 write(const QByteArray& byteArray)关闭设备:void close()IO操作的本质:连续存储空间的数据读写3.中的设备的原创 2022-02-15 23:33:59 · 4355 阅读 · 0 评论 -
Qt应用程序中的主窗口
1.应用程序中的主窗口的工具栏主窗口是与用户进行长时间交互的顶层窗口程序的绝大多数功能直接由主窗口提供主窗口通常是应用程序启动后显示的第一个窗口整个程序由一个主窗口和多个对话框组成Qt中的主窗口:Qt开发平台中直接支持主窗口的概念QMainWindow是Qt中主窗口的基类QMainWindow继承于QWidget是一种容器类型的组件QMainWindow中封装的秘密:QMainWindow中的组件布局:在Qt中提供与菜单相关的类组件:在Qt主窗口中创建菜单:QMenubar* mb原创 2022-02-13 22:55:52 · 1553 阅读 · 0 评论 -
Qt布局管理器
1.存在的问题目前的GUI开发方式:绝对定位直接在像素级指定各个组件的位置和大小void QWidget::move(int x, int y)void QWidget::resize(int w, int h);问题:组件的位置和大小无法自适应父窗口的变化2.解决方案:布局管理器提供相关的类对界面组件进行布局管理能够自动排列窗口中的界面组件窗口变化后自动更新界面组件的大小QLayout是Qt中布局管理器的抽象基类通过继承QLayout实现了功能各异且互补的布局管理器Qt中可以根据需原创 2022-02-08 23:56:57 · 1059 阅读 · 0 评论 -
Qt对话框及类型
1.对话框的概念对话框是与用户进行简短交互的顶层窗口QDialog是Qt中所有对话框窗口的基类QDialog继承于QWidget是一种容器类型的组件QDialog的意义:QDialog作为一种专用的交互窗口而存在QDialog不能作为子部件嵌入其他容器中QDialog是定制了窗口式样的特殊的QWidget编程实验:QDialog和QWidget的区别int main(int argc, char *argv[]){ QApplication a(argc, argv);原创 2022-02-07 00:15:00 · 1970 阅读 · 1 评论 -
Qt对象间的父子关系
1.Qt对象间可以存在父子关系每一个对象都保存有它所有子对象的指针每一个对象都有一个指向其父对象的指针2.当指定Qt对象的父对象时其父对象会在子对象链表中加入该对象的指针该对象会保存指向其父对象的指针QObject* p = new QObject();QObject* c1 = new QObject();QObject* c2 = new QObject();c1->setParent(p);c2->setParent(p);编程实验:对象间的父子关系#inclu原创 2022-02-06 23:41:18 · 890 阅读 · 0 评论 -
计算器核心解析算法
问题:计算机如何读懂四则运算表达式?1.后缀表达式(1)人类习惯的数学表达式叫做中缀表达式(2)另外,还有一种将运算符放在数字后面的后缀表达式(消除了中缀表达式中的括号)(3)实例:2.中缀or后缀中缀表达式符合人类的阅读和思维习惯后缀表达式符合计算机的运算方式消除了中缀表达式中的括号同时保留中缀表达式中的运算优先级3.计算器核心算法解决方案:(1)将中缀表达式进行数字和运算符的分离(2)将中缀表达式转换为后缀表达式(3)通过后缀表达式计算最终结果4.分离算法分析思想:以符原创 2022-01-29 23:02:25 · 2309 阅读 · 0 评论 -
Qt中的字符串类
1.Qt中的字符串类采用Unicode编码使用隐式共享技术来节省内存和不必要的数据拷贝跨平台使用,不必考虑字符串的平台兼容性2.QString vs stringQString直接支持字符串和数字的相互转换QString直接支持字符串的大小比较QString直接支持不同字符编码间的相互转换QString直接支持std::string和str::wstring的相互转换QString直接支持正则表达式的应用#include <QDebug>void Sample_1()原创 2022-01-29 15:51:07 · 1078 阅读 · 0 评论 -
Qt中的消息处理
1.Qt消息模型Qt封装了具体操作系统的消息机制Qt遵循经典的GUI消息驱动事件模型思考:Qt中如何表示用户消息?Qt中如何映射用户消息到消息处理函数?Qt中消息映射需要遵循什么规则?2.信号与槽Qt中定义了与系统消息相关的概念:信号(Signal):由操作系统产生的消息槽(Slot):程序中的消息处理函数连接(Connect):将系统消息绑定到消息处理函数Qt中的消息处理机制:信号到槽的连接必须发生在两个Qt类对象之间!Qt的核心-QObject::connect函数:b原创 2022-01-24 00:08:17 · 914 阅读 · 0 评论 -
Qt计算器实现
1.QLineEdit组件QLineEdit用于接受用户输入QLineEdite能够获取用户输入的字符串QLineEdite是功能性组件,需要父组件作为容器QLineEdite能够在父组件中进行定位Qwidget w; //生成QWidget对象,顶级组件QLineEdit le(&w); //生成QLineEdite对象,其父组件为QWidgetle.setAlignment(Qt::AlignRight); //设置显示的字符串向右边对齐le.move(10. 10); //移动原创 2022-01-22 17:21:32 · 2210 阅读 · 0 评论 -
Qt中的坐标系统
1.坐标系统GUI操作系统都有特定的坐标系统图形界面程序在坐标系统中进行窗口和部件的定位定位类型:顶级窗口部件的定位窗口内部件的定位窗口部件的大小设置Qt使用统一的坐标系统定位窗口部件的位置和大小Qt部件提供成员函数在坐标系统中进行定位QWidget类提供了窗口部件所需要的坐标系统成员函数2.坐标系统相关的成员函数QWidget类中的坐标系统成员函数:x()y()width()height()geometry():x(),y(),width(),height()frame原创 2022-01-22 15:56:40 · 1453 阅读 · 0 评论 -
窗口部件及窗口类型
1.窗口组件图形用户界面由不同的窗口和窗口组件构成头文件包含窗口组件,对应Qt中的GUI模块Qt以组件对象的方式构成图形用户界面组件的类型:容器类(父组件):用于包含其他的界面组件功能类(子组件):用于实现特定的交互功能Qt中没有父组件的顶级组件叫做窗口QWidget类继承自QObjiec类和QPaintDevice类:QObject是所有支持Qt对象模型的基类QPaintDevice是Qt中所有可描绘制组件的基类2.QWidget组件Qwidget能够绘制自己和处理用户的输入原创 2022-01-21 00:16:54 · 1106 阅读 · 0 评论 -
Qt工程创建
1.Qt Creator工程管理1.Qt Creator以工程项目的方式对源码进行管理2.一个Qt Creator工程包含不同类型的文件.pro项目描述文件.pro.user用户配置描述文件 //Qt Creator自动生成以及后期维护.h头文件.cpp源文件.ui界面描述文件资源文件(图片,音频,等)Qt Creator# 注释起始符Qt 模块声明TARGET 可执行文件名TEMPLATE 程序模板声明SOURCES 源码文件声明HEADERS 头文件声明FORMS 界面原创 2022-01-19 23:56:55 · 454 阅读 · 0 评论