可以使用QT自带的数据库完成 *** 作,以下是参考代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE") //添加数据库
db.setDatabaseName("note.db") //创建一个note.db的文件存储数据
db.open() //开启数据库
query = QSqlQuery(db) //获得访问数据库的query
query.exec(XXX) //执行指令(XXX为SQL指令)
db.close() //关闭数据库
一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等 *** 作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
QFile和QTextStream配合使用,很容易;以下是qt提供的示例代码:QFile data("output.txt")
if (data.open(QFile::WriteOnly | QFile::Truncate)) {
QTextStream out(&data)
out <<"Result: " <<qSetFieldWidth(10) <<left <<3.14 <<2.7
// writes "Result: 3.14 2.7 "
}
1、可能是文件路径不对吧。2、一般不把txt放入资源文件中,我一般都是直接调用:
QFilef("RankingList.txt")
然后将RankingList.txt放到当前目录下。
或者QFile f("res/RankingList.txt")
然后将RankingList.txt放到当前目录的res目录下。
3、你的文件既然可以读到,那么表示路径没问题。
可能是加入资源的方式不对吧。
4、或者rank实例有异常。
呵呵,不太懂,关注中!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)