
Qt基础知识
文章平均质量分 84
qt
旺代
当有机会做出选择时,不要让自己后悔。
展开
-
Qt中json的使用
json是一种轻量级的数据交换格式,在Qt中使用json数据可以通过Qt提供的QJsonDocument、QJsonObject、QJsonArray和QJsonValue类来实现。原创 2025-01-29 20:51:32 · 1493 阅读 · 1 评论 -
Qt文件操作
QFileSystemWatcher类通过观察指定路径的列表来监视文件系统中文件和目录的更改,当文件已被修改、重命名或从磁盘中删除就会发送相应信号。QFileInfo类用于提供文件信息,包括文件的名称、在文件系统中的路径、文件的访问权限等,还可以获取文件的大小和最近一次修改的时间。QTextStream类用于对数据进行文本格式的读/写操作,可以操作QIODevice、QByteArray和QString。QFile类用于文件的创建、读写、复制、删除等操作,可以实现文本文件和二进制文件的读写。原创 2025-01-28 14:14:44 · 1025 阅读 · 0 评论 -
Qt网络通信(TCP/UDP)
将数据报发送到广播地址,同一网络中的所有设备都会接收到广播数据报,但只有那些运行了相应接收程序并监听特定端口的设备才会处理这些数据报。创建QTcpServer对象---启动服务器监听---处理新连接请求---数据传输---关闭连接。创建QTcpSocket对象---连接服务器---数据传输---关闭连接。:发送端向一个特定的接收端发送数据,需要指定接收端的IP地址和端口号。创建套接字---绑定端口---接收数据---关闭套接字。创建套接字---发送数据---关闭套接字。原创 2025-01-25 18:24:55 · 1608 阅读 · 0 评论 -
一文看懂Qt多线程
线程在访问资源前需要获取信号量,如果信号量的值大于0,则表示有可用资源,线程可以继续执行并将信号量的值减1;线程同步是指在多线程环境下,通过使用特定的机制来确保不同线程之间的协调和数据一致性。读写锁提供了一种更高效的方式来管理对共享资源的读写操作,允许多个线程同时进行读操作,但只允许一个线程进行写操作。条件变量用于在线程间进行同步,一个线程可以等待某个条件满足后再继续执行,通常与互斥锁结合使用,以避免虚假唤醒。QThread类是Qt中用于创建和管理线程的基础类,提供了跨平台的线程操作接口。原创 2025-01-24 13:51:00 · 954 阅读 · 0 评论 -
Qt数据库相关操作
要在Qt中操作数据库,首先要安装对应的数据库,还要确保安装了Qt SQL模块。使用MySQL时,可能还要添加数据库驱动。Qt操作数据库详解_qt 数据库-优快云博客Qt中编译数据库驱动 | 爱编程的大丙在使用时要添加模块依赖:QT += sql,以引入Qt SQL模块。:用于创建和管理数据库连接。通过调用静态方法addDatabase()创建连接,指定数据库驱动类型和连接名称。原创 2025-01-23 20:03:21 · 1135 阅读 · 1 评论 -
Qt事件与绘图
②QBitmap是QPixmap的一个子类,它的色深限定为1,可以使用QPixmap的isQBitmap( )函数来确定这个QPixmap是不是QBitmap。③对于其他不关心的事件,则需要调用父类的event( )函数继续转发,否则这个组件只能处理我们自己定义的事件。②判断是否是要过滤事件的组件,如果是则判断是否过滤,过滤返回true,不过滤返回false。事件经历的过程:事件派发->事件过滤器->事件分发->事件处理阶段。③如果不是要过滤的组件,则返回父类的事件过滤函数。原创 2024-08-30 17:29:25 · 395 阅读 · 0 评论 -
Qt布局与QLabel
②主页面可以选择新建文件,在Qt widgets designer form class中创建新的界面文件 Form。将许多重复性使用的窗口或者窗口中的模块封装成自定义控件,可以减少创建的次数。布局定位:需要指定使用哪种布局(垂直 水平网状 表格)。自定义空间一般是重复性使用的窗口或者窗口中的模块。QT提供了两种组件定位机制:绝对定位和布局定位。举例:设计登录页面和主页面,实现两者之间的切换。绝对定位:需要提供组件的长宽高坐标值。2.在widget.h中声明form。一般使用Widget中的四种布局。原创 2024-08-28 16:48:37 · 445 阅读 · 0 评论 -
Qt对话框
Qt提供了一系列内置的标准对话框,这些对话框可以用于实现各种常见的用户交互任务,从而简化应用程序的开发。1.getOpenFileName和getOpenFileNames的参数:父类对象指针,文件对话框的标题,打开文件路径,文件过滤器。1.getColor生成颜色对话框,返回值是一个颜色变量,如果在颜色对话框选择取消,返回值无效,反之则有效。概念:对话框是GUI程序中不可或缺的组成成分,很多不能或不适合放入主窗口的功能组件都必须放在对话框中设置。非模态对话框:不会阻塞同一应用程序中其他窗口的输入。原创 2024-08-26 21:37:31 · 867 阅读 · 0 评论 -
Qt之QMainWindow
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏,多个工具栏,多个铆接部件,一个状态栏及一个中心部件。创建:QDockWidget *dockwidget = new QDockWidget(“window”,this);还可以设置默认位置:this->addToolBar (Qt::LeftToolBarArea,toolbar);QTextEdit *edit = new QTextEdit(“文本编辑器”,this);一个主窗口最多有一个状态栏,通常位于主窗口的最下方。原创 2024-08-24 08:54:47 · 378 阅读 · 0 评论 -
Qt信号和槽机制
这个函数用于将一个信号与一个或多个槽函数连接起来,当信号被触发时,相应的槽函数就会被调用。2.槽(slot):槽是与信号关联的函数,它用于处理信号。信号和槽的关联可以是多对多的关系,即一个信号可以连接多个槽函数,而多个信号也可以连接到同一个槽函数。信号:在signals作用域下写,返回值void,参数可以存在,仅声明不需要实现,可以重载。②槽函数是普通的成员函数,会受到public,private,protected的影响。槽函数:可以写到public或者全局,参数可以存在,需要声明并实现,可以重载。原创 2024-08-20 22:12:03 · 1154 阅读 · 0 评论 -
Qt概述及窗口和按钮
在创建 QObject 对象时,可以提供一个它的父对象,我们创建的这个 QObject 对象会自动添加到其父对象的children列表。QApplication类:应用程序类,整个后台管理的命脉,管理应用程序的初始化和结束,对事件进行处理和调度。将按钮的父对象设置为窗口,让按钮在窗口上显示:button->setParent(this);方式一:窗口是默认大小,按钮显示在左上角方式二:窗口是根据按钮大小来创建的,一般要重置窗口大小。优点:引入对象树的概念,在一定程度上解决了内存问题,简化了内存回收。原创 2024-08-19 20:45:56 · 368 阅读 · 0 评论