摘要:
前面介绍了数据库都是要使用SQL语句,并在显示方面不方便,不够直观反映数据。 上节介绍一个模型,可以直接利用该模型连接数据库,可以在QT的可视化界面TabView直接对数据库进行操作,并且不需要使用SQL语句。 思路: 1.按照前面的方式,选择数据库的类型,打开数据库 QSqlDatabase db 阅读全文
摘要:
前面使用 SQL 语句完成了对数据库的常规操作,包括简单的 CREATE、SELECT 等语句的使用。我们也提到过,Qt 不仅提供了这种使用 SQL 语句的方式,还提供了一种基于模型的更高级的处理方式。这种基于QSqlTableModel 的模型处理更为高级,如果对 SQL 语句不熟悉,并且不需要很 阅读全文
摘要:
sqlite,本地数据库。主要运用在小型的程序,传送方便(如发送附带数据库的程序,但MySQL有点大,或许没安装)。 如何创建本地数据库? 1.新建一个.txt的文本文件。 2.直接将后缀名有.txt改为.db即可。 思路和用法与前面的MySQL一样,连接上有点区别,其他一样。 1.连接数据库的类型 阅读全文
摘要:
数据库的创建、添加、修改、查询、删除都是利用SQL语句和类QSqlQuery的结合。 QSqlDatabase::database()。可返回当前正在打开的数据库对象。 数据库的删除 //获取删除的名字 QString strName=ui->lineEdit->text(); //开始事务 QSq 阅读全文
摘要:
上一节讲了数据库的连接,本例直接将数据库的插入操作,重点还是QSqlQuery类 QSqlQuery query; //新建二维表 query.exec("CREATE TABLE student(id INT AUTO_INCREMENT PRIMARY KEY,sname VARCHAR(10) 阅读全文
摘要:
Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作。这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台。另外,我们强调了“基于 SQL”,因为 NoSQL 数据库至今没有一个通用查询方法,所以不可能提供一种通用的 NoSQL 数据库的操作。Qt 的数据库操作还 阅读全文
摘要:
多线程绘图 前面见过Image绘图设备可以运用在线程中。 本例子。在线程中随机画出一个多边形,通过信号将图片发出,在主线程中接受该图片,并在绘图事件中绘制。 在窗口中有一个按钮,当点击按钮之后,在线程中绘制一张图片,然后将绘制好的图片显示到当前窗口中。 子线程随机画图解析 class MyThrea 阅读全文
摘要:
前一节介绍了线程的创建,把一个线程单独作为一类且是继承Qthread,当中也只有一个线程处理函数。很大的弊端。 因此,在Qt4.7及以后版本推荐使用以下的工作方式。其主要特点就是利用Qt的事件驱动特性,将需要在子线程中处理的业务放在独立的模块(类)中,由主线程创建完该对象后,将其移交给指定的线程,且 阅读全文
摘要:
通常情况下,应用程序都是在一个线程中执行操作。但是,当调用一个耗时操作(例如,大批量I/O或大量矩阵变换等CPU密集操作)时,用户界面常常会冻结。而使用多线程可以解决这一问题。 多线程有以下几个优势: 1.提高应用程序响应速度。这对于图形界面开发的程序尤为重要,当一个操作耗时很长时,整个系统都会等待 阅读全文
摘要:
前面介绍了TCP和UDP的通信,只是文体通信,只能传送文字。本次介绍文件传输,也就是文件读写和TCP通信的结合。 解析:根据之前的TCP通信,建立彼此的连接。服务器选择文件,首先将文件的基本信息发送给客户端。如:文件名,文件大小(用于进度条使用)。如上显示,“head#hello#1024”,即头部 阅读全文