QT写代码编辑器需要哪些库?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT写代码编辑器需要哪些库?相关的知识,希望对你有一定的参考价值。
老师只给我们看了十节课他自己录的视频,在视频中做了一个连计算器都算不上的小软件,算是告诉我们了世界上有QT这个东西的存在,然后叫我们在期末之前提交一个自己写的软件给他。
我想问下,用QT写一个代码编辑器:
都需要用到哪些QT库?
怎么实现关键字高亮?
怎样实现自动缩进这些功能?
谢谢!
对应的Qt库为QScintilla。
像CodeBlocks的代码编辑器、SciTE、NotePad++,都是基于Scintilla的。
Qt中还有个QSyntaxHighlighter,可以了解一下。 参考技术A 关键字高亮思路:对字符串查找并对该子字符串进行颜色改变...
参考:http://bbs.csdn.net/topics/390528701
自动缩进参考:http://hi.baidu.com/lesley_gyn/item/cb6cebce8d36d41cc610b247
PS:建议你先做一些简单的程序,熟悉下Qt开发,完了再写编辑器。追问
能问一个问题吗?文本编辑器里面的所有数据是一个字符串吗?还是分成了很多个字符串?
追答可以是一个字符串,也可以是很多个字符串!一个字符串的话占用资源少,但是操作繁琐;多字符串的话需要资源多,但是操作方便。主要看你自己设计
Qt 创建操作SQLLite数据库
项目中需要用到小型数据库,查了一下Qt支持QMYSQL、QSQLITE等很多类型的数据库,使用MySQL需要安装一些相关软件或编译相关开发库,故选择QSQLITE数据库。
创建数据库及数据库表格可使用软件手动创建编辑,也可使用程序创建、操作。测试程序代码如下所示:
//main.cpp
#include <QApplication>
#include <QSqlQuery>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" );
db.setDatabaseName( "test.db" );
if( !db.open() )
return false;
QSqlQuery query;
query.exec( "CREATE TABLE student("
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name VARCHAR,"
"age INT)" );
query.exec( "insert into student values( 0, ‘LL‘, 16 )" );
query.exec( "insert into student values( 1, ‘MM‘, 17 )" );
query.exec( "insert into student values( 2, ‘NN‘, 18 )" );
query.exec( "select * from student" );
while( query.isActive() && query.next() )
{
qDebug() << query.value( 0 ).toInt() << query.value( 1 ).toString()
<< query.value( 2 ).toInt() << "\n";
}
return a.exec();
}
结果:
以上是关于QT写代码编辑器需要哪些库?的主要内容,如果未能解决你的问题,请参考以下文章