前两周使用 Qt 做一个界面程序,使用的时候做了一些笔记,这里整理几条,有空再添加~
1. QSqlQuery 对象的声明应该在数据库链接后进行。像下面这样:
{ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("data/db.sqlite"); if (db.open()) { qDebug() << "connected" << endl; } else { qDebug() << "not connected! " << endl; return; } QSqlQuery query; ...
query.exec("select * from user"); }
如果将 "QSqlQuery query;" 放在数据库连接前面,这个对象是无效的。
2. QSqlDatabase 对象的方法 setDatabaseName() 参数应该是数据库文件的路径。将数据库文件作为资源使用是不可以的,就是说把他添加到项目的 resource 里面无效。
同样上面的代码,数据库文件的路径是相对路径,这样很好。我试图将它作为资源文件使用,但失败了。
3. 设定 Button 显示大小:bt.setMinimumSize ( int minw, int minh )
意思是如果调整 button 显示的大小,可以使用上面方法,设置它的最小 size,但我不知道 resize() 方法为什么不可以。
4. If a widget is derived form QObject then QT will delete it when its parent is deleted. (在论坛看到的)