-
到底要怎么在linux下的qt里使用sqlite ???
2013-05-29 06:55:32sudo apt-get install sqlite3 安装了...在QT Creator里输入#include <sqlite3.h>会有黄绿色的下划线!编译也不成功! 还有sql = "INSERT INTO \"SensorData\" VALUES();";这语句能不能把变量作为参数? -
Qt下使用SQLite3
2012-06-21 09:47:49编译环境:QT4.5+qt-creator2.4+arm-linux-gcc 4.3.3 程序是通过在QT槽函数中调用SQLite3的API来实现对数据库中的数据操作,这里我们默认嵌入式Linux中已经移植类SQLite3,程序中将调用SQLite3的库文件。 -
sqlite数据库在linux下安装,配置,移植,使用,QT调用
2014-04-25 21:42:01# tar zxvf sqlite-autoconf-3080403.gz 1.首先下载sqlite源码包,sqlite-autoconf-3080403.gz 下载地址:http://www.sqlite.org/download.html 2.解压一,安装编译,移植
1.首先下载sqlite源码包,sqlite-autoconf-3080403.gz下载地址:http://www.sqlite.org/download.html
2.解压
# tar zxvf sqlite-autoconf-3080403.gz
# cd sqlite-autoconf-3080403
3.新建两个文件夹用于编译不同版本# mkdir sqlite-x86 sqlite-arm
4.先编译电脑版# cd sqlite-x86/
# ../configure --prefix=/usr/local
# make
# make install
# ldconfig
由于库安装的路径可能不在系统的默认路径上,而引起出现”SQLite header and source version mismatch“这个错误,所以用ldconfig命令来解决。
如果不成功可以采用以下方法
解决方法:将安装目录/usr/local/lib里面的libsqlite3.so.0和libsqlite3.so.0.8.6复制到/usr/lib/i386-linux-gnu,替换原有文件。
检验是否安装成功
# sqlite3 -version
出现版本号就是已经成功,如下# sqlite3 -version 3.8.4.3 2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3
5.编译ARM版# cd ../sqlite-arm/
# ../configure CC=arm-linux-gcc-4.5.1 --host=arm-linux --prefix=/usr/local/arm/target
# make
# make install
经过上步所得到的文件已经可以放到ARM板上使用的了,但为了节省ARM板的存储空间,我们先对该文件瘦身,去掉没用的调试信息
# arm-linux-strip /usr/local/arm/target/lib/libsqlite3.so.0.8.6
# arm-linux-strip /usr/local/arm/target/lib/libsqlite3.so
把bin/sqlite3拷贝到ARM板上的根目录/bin下,把/lib下的libsqlite3.so.0.8.6 libsqlite3.so libsqlite3.so.0 拷贝到ARM板根目录/lib目录下。# arm-linux-strip /usr/local/arm/target/bin/sqlite3
测试方法也是一样
出现版本号就是已经成功了。# sqlite3 -version
二,使用PC和ARM方法一样
1.创建数据库,student.db
# sqlite3 student.db
已经存在则打开,还没存在就会创建并打开打开后出现
SQLite version 3.8.4.3 2014-04-03 16:53:12 Enter ".help" for usage hints.
使用.help查看帮助,.quit退出SQL的指令格式
所有的SQL指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,sqlite3会略过去。
2.建立表
sqlite> create table student(id,name,gender,age);
这里在数据库student.db里创建了一个表,名为student的表,包含元素,id,name,gender,age,sqlite可以储存任何东西:文字、数字、大量文字,不用标识输入类型,它会在自动转换。这是它与其他数据库的一个很大区别。语法为
- create table table_name(field1, field2, field3, ...);
table_name是资料表的名称,fieldx则是字段的名字。
2.建立索引如果资料表有相当多的资料,我们便会建立索引来加快速度。
这里例如以id为索引
这里创建了一个stu_id的索引,它为表student中的id作为索引sqlite> create index stu_id on student(id);
这个指令的语法为 create index index_name on table_name(field_to_be_indexed);
一旦建立了索引,sqlite3会在针对该字段作查询时,自动使用该索引。这一切的操作都是在幕后自动发生的,无须使用者特别指令。
3.插入数据
sqlite> insert into student values(1,'li','man',23); sqlite> insert into student values(2,'lt','woman',22);
如果是空,则填NULL;4.查看数据
sqlite> select * from student; 1|li|man|23 2|lt|woman|22
*为查看条件,查看student全部内容---------------------------------------------------------
sqlite> select name from student; li lt
查看所有的name--------------------------------------------------------
select * from film limit 10;
只输出10个结果--------------------------------------------------------
sqlite> select * from student where id=1; 1|li|man|23
查看id为1的所有结果-------------------------------------------------------
sqlite> select * from student order by id;
以id为条件从小到大-------------------------------------------------------
sqlite> select * from student where id<3;
列出所有id小于3所有内容------------------------------------------------------
sqlite> select count(*) from student; 4
------------------------------------------------------其他指令不详细写了,类似SQL指令
三,QT调用
在工程文件.pro中加入
然后加入头文件LIBS += -lsqlite3
#include <sqlite3.h>
然后在.cpp文件中编写程序,新建一个数据库db
sqlite3 *db;
SQL指令
sqlite储存数据是以二维数组形式QString cmd="select * from student;";
定义用于装得到的数据有几行几列
定义用于装返回的数据int h,l;
打开一个数据库到db;char** result;
sqlite3_open("student.db",&db);
数据库调用函数sqlite3_get_table(db,cmd.toAscii(),&result,&h,&l,NULL);
第一个参数为要操作的数据库,第二个为操作指令,第三装返回数据,第四个装得到数据的行,第五为列,第六为装错误信息--------------------------------------------------------------------------------------------------------
然后释放内存
操作完了就关闭sqlite3_free_table(result);
sqlite3_close(db);
电脑上编写的QT程序只要环境都搭建好了在ARM也是直接就可以使用
-
Qt在Windows和Linux下使用MySQL
2016-06-07 18:16:09最近在用 Qt 做东西,要用到数据库。开始是用 SQLite,还好没什么问题,用着很顺利。...下面分别介绍一下在 Windows 和 Linux 下 Qt 使用 MySQL。 先记录一下在 Windows 下, Qt 5.5.1 msvc2010, MySQL 5最近在用 Qt 做东西,要用到数据库。开始是用 SQLite,还好没什么问题,用着很顺利。后来要改用 MySQL,就被折磨了几天。
首先当然是先安装好 Qt,配置好MySQL,建库建表这些。下面分别介绍一下在 Windows 和 Linux 下 Qt 使用 MySQL。
先记录一下在 Windows 下, Qt 5.5.1 msvc2010, MySQL 5.7.12。
网上看到 Qt 以前版本要下载 src,再编译出dll。现在在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 qsqlmysql.dll qsqlmysqld.dll qsqlmysqld.pdb 这些,省不少事。
这时如果直接用,还是不行的,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
解决办法很简单:把 MySQL 安装目录下的 lib\libmysql.dll 复制到 Qt 安装目录下的 bin 目录中即可。
再记录一下在 Linux 下, Qt 5.5.1, MySQL 5.6.24。
在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 libqsqlmysql.so,这时直接用时,与 Windows 一样,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded在 plugins\sqldrivers 目录 ldd libqsqlmysql.so,会看到 libmysqlclient_r.so.16 => not found 等。
解决办法
sudo apt-get install libqt4-sql-mysql,会安装 Qt4 的 MySQL 驱动,或者 sudo apt-get download libqt4-sql-mysql,解压找到so也行。
sudo apt-get install libqt5sql5-mysql,会安装 Qt5 的 MySQL 驱动,或者 sudo apt-get download libqt5sql5-mysql,解压找到so也行。
这种方法别人可能可行,我这用的提示版本不一致。只好用下面这个办法。
官网下载源码编译
不用完全下载,只要 http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/ 里面的 qtbase-opensource-src, 那个 60M 即可。
提取出来在 qtbase.../src/plugins/sqldrivers/mysql 里面,qmake, make。qmake 如果找不到,要带上 Qt 安装目录 bin 路径。
make 过程中,
有人会出现
/usr/bin/ld: cannot find -lz,是没有安装zlib-devel,直接yum install zlib-devel搞定。
本菜鸟遇到
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
先 locate libssl.so 或者 find 找到 libssl.so.1.0.0 所在目录,和 libcrypto.so.1.0.0 所在目录
在找到目录下,ln -s libssl.so.1.0.0 libssl.so 和 ln -s libcrypto.so.1.0.1 libcrypto.so
这是再 make 就没有问题了。
成功后,找到生成的 libqsqlmysql.so,应该是在源码 qtbase.../plugins/sqldrivers 目录下。复制到 Qt 安装目录相应位置。
这时再 ldd libqsqlmysql.so 查看就没有问题了。 -
Ubuntu 15.04 安装配置 Qt + SQLite3
2019-06-17 10:04:57最近需要在Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅。 安装Qt CMake和Qt Creator是Linux下开发C++程序的神器,Ubuntu 15.04已经集成了最新版的Qt ...序
最近需要在Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅。
安装Qt
CMake和Qt Creator是Linux下开发C++程序的神器,Ubuntu 15.04已经集成了最新版的Qt Creator (3.1.1)。
sudo apt-get install cmake qtcreator
安装Sqlite
1 . 安装SQLite3
sudo apt-get install sqlite sqlite3
2 . 安装Sqlite3编译需要的工具包
//如果,你需要的话可以安装该工具包。只是为了体验一把,可以不安装。该项是可选项。 apt-get install libsqlite3-dev
3 . 检查安装是否成功
//执行下面命令,会出现sqlite版本号,如3.6.22 sqlite3 -version
4 . 安装图形界面
//不喜欢命令行的话,安装该项有必要。该项是可选项。 sudo apt-get install sqlitebrowser
5 . 安装其它语言的支持
//PHP支持 sudo apt-get install php5-sqlite //Ruby支持 sudo apt-get install libsqlite3-ruby //Python支持 sudo apt-get install python-pysqlite2
6 . 建立数据库
//可以在任意目录下(如/home/yangrui/database),执行下面命令 sqlite3 test.db
注意:该命令执行之后,如果在当前目录没有test.db的话,就会创建该文件,如果已经存在的话直接使用该数据库文件。
使用.database可以查看所创建的数据库
7 . 创建表
数据类型,可以参考官方文档。
create table mytable(name varchar(10),age smallint); //同理,使用.table可以看看自己创建的表mytable
8 . 向表中插入数据
insert into mytable values('mark',28); insert into mytable values('hello',30);
9 . 查询数据
select * from mytable;
10 . 删除表
drop table mytable;
11 . 删除数据库
很不幸运,SQLite无法同其他数据库那样删除数据库文件,即DROP DATABASE test;无效,但是我们可以直接像删除文件一样删除数据库文件,在/home/mark/database下面删除test.db文件即可。
Qt下使用SQLite
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。
QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:
在Qt Creator中新建一个test项目:
main.cpp添加一下代码:#include <QCoreApplication> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlDriver> #include <QtSql/QSqlQuery> #include <QDebug> #include <string> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug()<<"available drivers:"; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug()<<driver; QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); //db.setHostName("localhost"); //db.setPort(3306); //事先创建的数据库EasyChat.db db.setDatabaseName("/home/yangrui/projects/EasyChat/database/EasyChat.db"); db.setUserName("root"); db.setPassword("123456"); if(!db.open()){ qDebug()<<"Unable to open database"; }else{ qDebug()<<"Database connection established"; } QSqlQuery query; query.exec("select * from User"); while(query.next()) { QString userId = query.value("userId").toString(); qDebug()<<userId; } return a.exec(); }
注意: .pro文件中代码如下:
#------------------------------------------------- # # Project created by QtCreator 2015-11-18T11:30:07 # #------------------------------------------------- QT += core QT += sql QT -= gui TARGET = SqliteTest CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp
执行结果:
-
Red Hat 9 Linux下编译sqlite-3.3.8并在QT3.1下连接全过程详细记录
2006-11-05 17:15:00一、sqlite-3.3.8编译安装请阅读在安装包里的 INSTALL 文件。或者使用PEAR installer with "pear install sqlite"。SQLite已经内置了,你不需要安装任何附加的软件(additional software)。Win
作者:zieckey(zieckey@yahoo.com.cn)
下文介绍的内容都是基于 Linux RedHat 9.0 平台的。
一、sqlite-3.3.8编译安装
请阅读在安装包里的 INSTALL 文件。或者使用PEAR installer with "pear install sqlite"。SQLite已经内置了,你不需要安装任何附加的软件(additional software)。
Windows users可以下载SQLite扩展DLL(php_sqlite.dl)。
这里简单介绍一下:
假设你得到的是源代码sqlite-3.3.8.tar.gz,这里将告诉你怎么编译它。
解压sqlite-3.3.8.tar.gz 到 /home目录下
For example:
tar zxvf sqlite-3.3.8.tar.gz -C /home
cd /home
mkdir sqlite-3.3.8-ix86
cd /home/sqlite-3.3.8-ix86/
../sqlite-3.3.8/configure --prefix=/home/sqlite-3.3.8-ix86
编译并安装,然后生成帮助文档
make && make install && make doc
如果出现下列错误
../sqlite-3.3.8/src/tclsqlite.c: In function `DbUpdateHandler':
../sqlite-3.3.8/src/tclsqlite.c:333: warning: passing arg 3 of `Tcl_ListObjAppendElement' makes pointer from integer without a cast
../sqlite-3.3.8/src/tclsqlite.c: In function `tclSqlFunc':
../sqlite-3.3.8/src/tclsqlite.c:419: warning: passing arg 1 of `Tcl_NewByteArrayObj' discards qualifiers from pointer target type
这个都是tcl相关的错误,可以先安装ActiveTcl以解决.假如你不需要tcl支持,那么这个错误可以这样避免:
cd /home/sqlite-3.3.8-ix86/
../sqlite-3.3.8/configure --disable-tcl --prefix=/home/sqlite-3.3.8-ix86
编译并安装,然后生成帮助文档
make && make install && make doc
不出意外,将不会出现错误,那么
Libraries have been installed in:
/home/sqlite-3.3.8-ix86//lib
库文件已经生成在 /home/sqlite-3.3.8-ix86/lib 目录下
可执行文件sqlite3已经生成在 /home/sqlite-3.3.8-ix86/bin 目录下
下面创建一个新的数据库文件名叫"zieckey.db" (当然你可以使用不同的名字) 来测试数据库.
直接输入: /home/sqlite-3.3.8-ix86/bin/sqlite3 test.db
如果出现下面字样表明编译安装已经成功了.
SQLite version 3.3.8
Enter ".help" for instructions
sqlite>
二、使用QT3连接SQLite
[root@localhost zieckey]# mkdir test-qt3-sqlite3
[root@localhost zieckey]# cd test-qt3-sqlite3/
打开Designer
[root@localhost test-qt3-sqlite3]# designer&
[4] 8357
新建一个C++ Project
新建一个Dialog
在该ialog上放置一个 PushButton 和一个 LineEdit
并设置相应的属性
保存到 test-qt3-sqlite3 目录下
新建一个 C++ Main-file (main.cpp )
再保存
然后生成 *.h,*.cpp文件
[root@localhost test-qt3-sqlite3]# uic -o mainform.h mainform.ui
[root@localhost test-qt3-sqlite3]# uic -i mainform.h -o mainform.cpp mainform.ui
修改 *.pro文件,如下:
SOURCES += main.cpp mainform.cpp
HEADERS += mainform.h
unix {
UI_DIR = .ui
MOC_DIR = .moc
OBJECTS_DIR = .obj
}
TEMPLATE =app
CONFIG += qt warn_on release
LANGUAGE = C++
SQLITE_PATH=/home/sqlite-3.3.8-ix86
DEPENDPATH += $$SQLITE_PATH/include
INCLUDEPATH += $$SQLITE_PATH/include
LIBS += -L$$SQLITE_PATH/lib
LIBS += -lsqlite3
TARGET = test-sqlite.out
编辑 mainform.h
/****************************************************************************
** Form interface generated from reading ui file 'mainform.ui'
**
** Created: 日 11月 5 16:24:45 2006
** by: The User Interface Compiler ($Id: qt/main.cpp 3.1.1 edited Nov 21 17:40 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#ifndef MAINFORM_H
#define MAINFORM_H
#include <qvariant.h>
#include <qdialog.h>
#include "sqlite3.h" //注意,这里一定要添加进来
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QLineEdit;
class QPushButton;
class MainForm : public QDialog
{
Q_OBJECT
public:
MainForm( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
~MainForm();
QLineEdit* showMsgLineEdit;
QPushButton* openButton;
public slots:
virtual void openDBSlot(); //注意,这里是新建的一个SLOT
protected:
protected slots:
virtual void languageChange();
};
#endif // MAINFORM_H
编辑 mainform.cpp
/****************************************************************************
** Form implementation generated from reading ui file 'mainform.ui'
**
** Created: 日 11月 5 16:25:05 2006
** by: The User Interface Compiler ($Id: qt/main.cpp 3.1.1 edited Nov 21 17:40 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#include "mainform.h"
#include <qvariant.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qimage.h>
#include <qpixmap.h>
/*
* Constructs a MainForm as a child of 'parent', with the
* name 'name' and widget flags set to 'f'.
*
* The dialog will by default be modeless, unless you set 'modal' to
* TRUE to construct a modal dialog.
*/
MainForm::MainForm( QWidget* parent, const char* name, bool modal, WFlags fl )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "MainForm" );
showMsgLineEdit = new QLineEdit( this, "showMsgLineEdit" );
showMsgLineEdit->setGeometry( QRect( 150, 230, 350, 21 ) );
openButton = new QPushButton( this, "openButton" );
openButton->setGeometry( QRect( 150, 70, 91, 30 ) );
languageChange();
resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
// signals and slots connections
connect( openButton, SIGNAL( clicked() ), this, SLOT( openDBSlot() ) );
}
/*
* Destroys the object and frees any allocated resources
*/
MainForm::~MainForm()
{
// no need to delete child widgets, Qt does it all for us
}
/*
* Sets the strings of the subwidgets using the current
* language.
*/
void MainForm::languageChange()
{
setCaption( tr( "A test Showing how to connect SQLite3 in QT3" ) );
openButton->setText( tr( "Open DB" ) );
}
void MainForm::openDBSlot()
{
//qWarning( "MainForm::openDBSlot(): Not implemented yet" );
sqlite3 *db=NULL;
int rc;
rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
if( rc )
{
QString errMsgQString;
errMsgQString.sprintf("Can't open database: %s/n", sqlite3_errmsg(db) );
showMsgLineEdit->setText(errMsgQString);
sqlite3_close(db);
}
else
showMsgLineEdit->setText( "open zieckey.db successfully!/n" );
sqlite3_close(db); //关闭数据库
}
main.cpp如下,它不用做任何更改,如果我们是按照上面说的那样生成main.cpp的话
#include <qapplication.h>
#include "mainform.h"
int main( int argc, char ** argv )
{
QApplication a( argc, argv );
MainForm w;
w.show();
a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
return a.exec();
}
这一切做好了后,我们就可以开始编译了
[root@localhost test-qt3-sqlite3]# qmake
[root@localhost test-qt3-sqlite3]# make
中间也许会有很多警告信息,这个不是太大问题,如果没有错误,那么我们可以运行了:
[root@localhost test-qt3-sqlite3]# ./test-sqlite.out
也许会出现下面这样的错误:
[root@localhost test-qt3-sqlite3]# ./test-sqlite.out
./test-sqlite.out: error while loading shared libraries: libsqlite3.so.0: cannot open shared object
file: No such file or directory
这个好办:
[root@localhost qt3-sqlite3]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/sqlite-3.3.8-ix86/lib
[root@localhost qt3-sqlite3]# ./test-sqlite.out
这样就好了。
看到运行的效果了没?
点击一下界面上的按钮,看看有什么反应?
应该是这样的:
那个标签条上显示: open zieckey.db successfully!
说明:实际应用的时候,在qt3下根本就不需要显示的调用 uic 生成 .h .cpp 文件,
这里是方便行文才这样做的。
总结:这里我们知道了sqlite3.3.8的Linux环境下编译、QT Designer 的基本用法、QT编程的基本实现;
最重要的是我们知道了怎么在qt下连接sqlite。本文纯粹是交流之作,仅作抛砖引玉之用。
还希望更多的高手们出来说说话阿。
欢迎交流。 -
linux qt mysql编程 pdf_Linux平台QT数据库编程(来自网络)
2021-01-19 18:17:35Linux平台QT数据库编程在linux平台使用qt来编写GUI程序,在进行数据库编程的时候,有两种选择方式,分别是:基于linux平台的数据库接口函数编程,另一种是使用qt自带的有关数据库类。那在这里我分别来讲一下这两种... -
基于QT项目在windows下发布--with SQLite3
2013-02-02 21:25:35QT在Linux下的界面处理人所共知,现在有个需求是一定要在windows下做界面,时间比较紧。目前已经在Linux下的界面如何port至windows呢? 这里用到QT的跨平台。这种时候使用qt+mingw来进行发布。 QT4.8.4库包含了... -
linux qt mysql编程 pdf下载地址_Linux+QT界面开发(含数据库)小结
2021-02-10 13:57:48针对Linux应用,特意借阅一本:《linux环境下Qt4图形界面与MySQL编程》,本篇文章主要是对要点进行汇总一下。SQLite与MySQL区别:SQLite:一个应用使用SQLite时,它的功能直接被集成在其中,应用会直接访问包含数据的... -
QT在Windows中的技术总结(二):sqlite数据库QT接口的应用总结
2015-08-21 09:09:25以前在Linux下使用sqlite 都是用到sqlite3.exe这函数的,当然这需要在Linux下安装sqlite3程序的安装包,这个就不再累述了(我也忘得差不多了。。。) 然而在Windows下,安装sqlite3貌似挺麻烦的,而且对Windows的... -
Linux平台QT数据库编程(来自网络)
2014-08-14 11:04:00在linux平台使用qt来编写GUI程序,在进行数据库编程的时候,有两种选择方式,分别是:基于linux平台的数据库接口函数编程,另一种是使用qt自带的有关数据库类。那在这里我分别来讲一下这两种方式的实现。 一、... -
Qt学习之路【5】:静态Qt库下SQLite数据库无法加载驱动(QSQLITE driver not loaded)
2015-10-10 10:11:01使用的Qt库:Qt4.8.6 交叉编译工具链:arm-linux-gcc(4.3.6) 这个问题纠结了好久。刚开始我使用的是Qt的动态库,没有出现这个问题。现在使用的是Qt的静态库出现了这个问题:QSqlDatabase: QSQLITE driver not ... -
论文研究-Linux平台下基于Qt的电子地图的绘制 .pdf
2019-08-15 16:10:36Linux平台下基于Qt的电子地图的绘制,欧阳昆,韩应征,本文介绍在Linux环境下,使用图形界面开发工具Qt作为开发平台,实现电子地图浏览。利用开源工具MITAB提取地图数据,SQLite数据库存储地 -
Linux+QT界面开发(含数据库)小结
2019-10-08 05:06:34针对Linux应用,特意借阅一本:《linux环境下Qt4图形界面与MySQL编程》,本篇文章主要是对要点进行汇总一下。 SQLite与MySQL区别: SQLite: 一个应用使用SQLite时,它的功能直接被集成在其中,应用会直接访问... -
Qtopia中使用SQLite总结及SQLite中存储中文操作
2014-03-13 10:45:49【工作环境:基于友善之臂mini2440开发板+Qtopia2.2版本+RedHat9+SQLite-3.3.6】 1.Qtopia中使用SQLite ...)所以在Qt/Qtopia程序中需要数据库时,可以考虑在Qt中使用Linux下操作SQLite数据库的方法。(表达的 -
qt sqlite mac 编译配置_Vapor4 的安装与配置
2020-11-25 15:39:10文中的运行环境为: Vapor4,Swift5.2,Catalina 10.5.4,Ubuntu18.04原文发表在我的博客Swift记事簿最近新开通了一个云服务器(Linux系统),使用Hexo创建了新的博客网页。考虑增加点简单的交互功能,所以... -
QT5.14 实现简单用户登录系统
2020-04-29 20:40:42与 linux下简单的sqlite3 数据库进行数据互传,实现登录系统 实现原理为: 1.linux服务器: 若使用云服务器请见此说明:使用云服务器的区别在于连接的ip不同而已,本代码已验证在阿里云Ubuntu16.04 ECS服务器下验证... -
sqlite库学习(10)sqlitebrowser的编译
2020-05-22 20:40:49sqlitebrowser(DB Browser for SQLite) 是一款免费开源的跨平台的SQLite数据库查看工具,Window下可以直接下载安装包,Linux下使用命令:sudo apt-get install sqlitebrowser即可安装。 sqlitebrowser是开源的,... -
Qt MySQL数据库编程
2010-07-02 03:27:11今天在Linux下测试了Mysql数据库与Qt结合的应用练习,Qt经常要与数据库打交道,如Oracle(甲骨文公司数据库巨人)、SQL(中大型数据库)、mySQL(小型关系型数据库管理系统)、Access(小到办公软件的office数据库access)... -
基于QT4.8.6的软键盘
2019-02-25 10:24:34这几天接到任务要写一个软键盘,用于在Linux上运行的软件(windows下也可以) 效果: 1、能够实现中英文、数字、字符的切换 2、并且实现单字中文、英文、数字、符号的输入 3、使用sqlite数据库 4、完全模仿手机QQ... -
QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分...
-
Colony:无序的”bag“型容器,在高度修改的情况下,其性能优于标准容器。同时,无论插入还是擦除,其都能始终保持指向未擦除元素的永久指针。 dynamic_bitset:C++17 的动态位集合,只有头文件。 Forest:实现了...
-
buildout:在隔离环境初始化后使用声明性配置管理。 包管理 管理包和依赖的工具。 pip:Python 包和依赖关系管理工具。 pip-tools:保证 Python 包依赖关系更新的一组工具。 PyPI:Python 正式的第三方包软件...