1.如果提示QSqlDatabase: QMYSQL driver not loaded 解决方法: 在确保qt和mysql同位数的情况下,将mysql\lib中的libmysql.dll复制到Qt...\Qt5.6.1\5.6\mingw49_32\bin中。...2.提示不存在#include,#include 解决方法: 在确保pro文件添加 QT+=sql的情况下,右击项目,点击执行qmake即可解决问题。
在上章学习了42.QT-操作SQLite数据库后,发现MySQL和SQLite的语句都大致相同,所以本章只测试MySQL是否能使用 MySQL安装参考链接:https://blog.csdn.net/qq..._38455201/article/details/83419450 1.由于QT版本是32位,所以MySQL安装也得是32位 ?...3.接下来开始使用QT测试(使用QT5.7版本) 连接MySQL发现打印: ?...因为缺少驱动文件libmysql.dll,该文件位于: D:\MySQL5.7_win32\mysql-5.7.26-win32\lib 方法1: 将libmysql.dll复制到Qt5.7.1\5.7...2)写QT代码 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("192.168.0.100");
浏览量 1 QT支持很多不同的数据库,包括:Sqlite, MySQL, SqlServer等等,QT里面提供了访问这些数据库的插件代码,这使得我们可以很方便的访问数据库。...QT支持很多不同的数据库,包括:Sqlite, MySQL, SqlServer等等,QT里面提供了访问这些数据库的插件代码,这使得我们可以很方便的访问数据库。...Qt 5 的 SDK 默认提供了编译好的 MySQL 驱动插件,位于 plugins/sqldrivers(Windows 下为 qsqlmysql.dll)。...解决办法: 将mysql数据库lib文件夹中的libmysql.dll,libmysqld.dll复制到编译成的exe文件中。...参考文章: http://qtdebug.com/qtbook-db-mysql/
1、QSqlDatabase对象设置UTF-8编码 QSqlDatabase db; db.exec("SET NAMES 'UTF-8'"); 2、将MySQL编码设置成UTF-8 show variables...utf-8; set collation_database = utf8mb4_unicode_ci; set collation_connection = utf8mb4_unicode_ci; 3、MySQL...的my.ini文件或my.cnf设置UTF-8 # 设置mysql客户端默认字符集 default-character-set=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server
线程 QT中的QThread提供了与平台无关的线程,一个QThread代表了一个应用程序中可用独立控制的线程,它与进程中的其他线程共享数据,但是是独立执行的,QThread从run()函数开始执行,默认...run()通过exec()来开启事件循环,并在线程内运行一个Qt事件循环。
一、Qt事件 1、事件介绍 事件是应用程序内外部产生的事情以及动作的统称,常见的所有事件例如鼠标事件QMouseEvent,键盘事件QKeyEvent等等都是继承自QEvent 2、事件的处理 在Qt中几乎所有的...Numlock处于打开状态,第七条是输入法切换的 void Widget::keyPressEvent(QKeyEvent *event) { if(event->modifiers() == Qt...ControlModifier) //检查是否按下了Ctrl键,event->modifiers返回当前按键事件的修饰键状态 { if(event->key() == Qt...::LeftButton) { qDebug() << "鼠标左键"; } if(event->button() == Qt::RightButton)...{ qDebug() << "鼠标右键"; } if(event->button() == Qt::MidButton) { qDebug() <
文章目录 一、Qt 下载 二、Qt 安装 三、组件选择 一、Qt 下载 ---- Qt 开发环境下载地址 : https://download.qt.io/archive/qt/ 该界面可以下载 Qt...各个版本的开发环境 ; Qt 版本选择 , Qt 的各个大版本都在同步更新 , 如 5.1 , 5.9 , 5.14 , 6.0 等 , 每个版本都有不同的性能和功能 , 每个版本进入后的二级目录的小版本...Qt 从 5.15 版本开始 , 不再提供离线安装包 , 需要自己下载源码编译安装 , 因此这里选择安装 Qt 5.14.2 版本 ; 进入 https://download.qt.io/archive.../qt/5.14/5.14.2/ 界面后 , 在根目录中分别是 windows , mac , linux 三个平台的 Qt 安装包 , 选择对应的平台即可 ; 下载 Windows 对应的安装包 qt-opensource-windows-x86...-5.14.2.exe ( 点击该链接下载 ) ; 二、Qt 安装 ---- 双击安装软件 , 点击 " Next " , 没有 Qt 账号 , 输入账户名邮箱 , 密码 , 确认密码 , 同意协议
一、Qt网络 在进行网络编程之前,需要在项目中的.pro文件中添加network模块 实际开发中不会用Qt直接写服务器的,因为服务器是没有图形化界面的,一般我们会用其他的语言软件写好程序之后与Qt联合使用...读取当前接收缓冲区中的所有数据并返回一个QByteArray对象 write(const QByteArray&) 把数据写入socket中 deleteLater 暂时把socket对象标记为无效,Qt
Qt 网络 和多线程类似,Qt 为了⽀持跨平台,对网络编程的 API 也进行了重新封装。 在进行网络编程之前,需要在项目中的 .pro 文件中添加 network 模块。...添加之后要手动编译⼀下项目,使 Qt Creator 能够加载对应模块的头文件。 1.
QT容器 QString类 隐式共享: 隐式数据共享机制去最大化资源有效利用和最小化复制克隆操作。...BOOL qDebug()<<s4.startsWith("哔哩哔哩"); QString s5 = "tom"; qDebug()Qt...是否包含 qDebug()<<s5.contains("o");//同样可以表明大小写是否敏感 //比较 qDebug()Qt...it_mrw.key()<<":"<<it_mrw.next().value(); } qDebug()<<moneyHash; ---- QVariant类 QVariant类能保存很多Qt...类型的值,包括QColor,QBrush,QFont,QRect,QString及QSize等等,而且能存放Qt的容器类型值。
一、简述QT 1、什么是QT QT是一个跨平台的C++开发框架,主要用于开发图形用户界面应用程序,但同样支持开发不带界面的命令行程序 这里的图形用户界面是一种人与计算机通信的界面显示格式,允许用户通过图形化的操作元素...广泛应用于桌面应用程序,移动应用程序,嵌入式系统 我们熟知的WPS office 就是QT开发的 二、QT的基本使用 前面安装啥的就不再多说了 1、新建项目 (1)选择项目模版 新建项目对话框里一共有五类模版...可以创建单元测试项目、Qt4设计师自定义控件、子目录项目等 Non-Qt-Project 非QT项目,可以创建纯C/C++项目 Import Project 导入项目,从版本控制管理系统的软件项目导入旧的项目...这里我们常用的只有第一种,然后右边会出现四类子模版 Qt Widgets Application:普通窗体模板,传统基于部件的窗体界面程序 Qt Console Application:Qt...控制台应用程序,因为 Qt 主要用于图形界面设计,这个控制台项目模板基本不用 Qt for Python:在Python下用 LGPL 的许可来开发闭源 Qt 软件 Qt Quick Application
QT对象树 QT提供了对象树机制,能够自动、有效的组织和管理继承自QObject的对象。...当父类对象析构的时候,其对象链表中的所有(子类)对象也会被析构,父对象会自动,将其从父对象列表中删除,QT保证没有对象会被delete两次。
前言 Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的。...https://download.qt.io/official_releases/QtForPython/ 注意: Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放...所以目前我就不太建议用Qt Widgets形式开发,建议Qt Quick. 常见属性 结合控件的SizePolicy属性,来控制布局管理中的控件的尺寸自适应方式。...Widget() widget.show() sys.exit(app.exec_()) 窗口设置 去掉顶部按钮 from PySide2.QtCore import QFile, Qt...self.setWindowFlags(Qt.FramelessWindowHint)
qt 文件 1. Qt 文件概述 文件操作是应用程序必不可少的部分。Qt 作为⼀个通用开发库,提供了跨平台的文件操作能力。...Qt 提供了很多关于文件的类,通过这些类能够对文件系统进行操作,如文件读写、文件信息获取、文件复制或重命名等。 2. 输入输出设备类 在 Qt 中,文件读写的类为 QFile 。...QIODevice 是 Qt 中所有输入输出设备(input/output device,简称 I/O 设备)的基础类,I/O 设备就是能进行数据输入和输出的设备,例如文件是⼀种 I/O 设备,网络通信中的...文件读写类 在 Qt 中,文件的读写主要是通过 QFile 类来实现。在 QFile 类中提供了一些用来读写文件的方法。...文件和目录信息类 QFileInfo 是 Qt 提供的一个用于获取文件和目录信息的类,如获取文件名、文件大小、文件修改日期等。
qt 多线程 1. Qt 多线程概述 在 Qt 中,多线程的处理⼀般是通过 QThread 类来实现。QThread 代表⼀个在应用程序中可以独立控制的线程,也可以和进程中的其他线程共享数据。...connect() 函数第五个参数为 Qt::ConnectionType,用于指定信号和槽的连接类型。同时影响信号的传递方式和槽函数的执行顺序。...Qt::ConnectionType 提供了以下五种方式: 4....在 Qt 中,专门提供了 QWaitCondition 类来解决像上述这样的问题。 特点:QWaitCondition 是 Qt 框架提供的条件变量类,用于线程之间的消息通信和同步。...特点:QSemaphore 是 Qt 框架提供的计数信号量类,用于控制同时访问共享资源的线程数量。 用途:限制并发线程数量,用于解决⼀些资源有限的问题。
Qt 窗口 Qt 窗口是通过 QMainWindow类 来实现的。 QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了一个预定义的布局。...停靠在右侧 Qt::TopToolBarArea 停靠在顶部 Qt::BottomToolBarArea 停靠在底部 Qt::AllToolBarAreas 以上四个位置都可停靠 示例: QToolBar...其中可以设置允许停靠的位置有: Qt::LeftDockWidgetArea 停靠在左侧 Qt::RightDockWidgetArea 停靠在右侧 Qt::TopDockWidgetArea 停靠在顶部...Qt 内置对话框 Qt 提供了多种可复⽤的对话框类型,即 Qt 标准对话框。Qt 标准对话框全部继承于 QDialog类。...::WindowFlags flags = Qt::WindowFlags(), \ Qt::InputMethodHints inputMethodHints = Qt::ImhNone) ; 参数说明
文件处理 QFile类用于文件操作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。 处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类。
) { ui->setupUi(this); //创建工具栏,将其添加到右侧区域 QToolBar* tb = new QToolBar(this); addToolBar(Qt...::RightToolBarArea,tb); //设置工具栏停留的位置只能为最左侧和最右侧 tb->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea...setupUi(this); //创建浮动窗口并将其设置在当前窗口中 QDockWidget* dw = new QDockWidget("浮动窗口",this); addDockWidget(Qt...::BottomDockWidgetArea,dw); //设置浮动窗口四个位置都可停靠,还有四个选项,分别是上下左右: //Qt::TopDockWidgetArea //Qt::BottomDockWidgetArea...//Qt::LeftDockWidgetArea //Qt::RightDockWidgetArea dw->setAllowedAreas(Qt::AllDockWidgetAreas)
模型/视图编程 Qt中的模型/视图架构用来实现大量的数据存储、处理及显示。...::green); item2->setData("C",Qt::EditRole); item2->setData("indexC",Qt::ToolTipRole); item2...::Orientation orientation, int role) const { if(role == Qt::DisplayRole && orientation == Qt::Horizontal...= Qt::DisplayRole) { return QVariant(); } //水平表头 if(orientation == Qt::Horizontal...Qt提供了项目试图的便捷类,这些类底层通过模型/视图框架实现。
rootFrame = document->rootFrame(); //文档格式框架 QTextFrameFormat format; format.setBorderBrush(Qt...setFrameFormat(format); //设置文本边框风格 QTextFrameFormat frameFormat; frameFormat.setBackground(Qt...//字符格式 QTextCharFormat charFormat; //设置背景色 charFormat.setBackground(Qt...{ QTextCharFormat format;//字符格式 format.setFontWeight(QFont::Bold); format.setBackground(Qt...::red); format.setForeground(Qt::green) ; QString pattern = "\\bgood\\b";//匹配单词边界 QRegExp
领取专属 10元无门槛券
手把手带您无忧上云