我們在用qt quick的qml編寫前端介面時,常常會用到前端sqlite資料庫以保持本地的資料,此時你不需要用c++,直接用qml就可以了。
當編寫完成**後,你卻不知道資料放在**了,實際上qt在你的**完成後,會把資料庫放在乙個預設的目錄,本文以win10為為例,來說明如何定製化你的sqlite的預設路徑。
《qml sqlite資料庫程式設計》
我們引入專案對資料庫操作的js檔案:database.js,內容為資料庫操作的**。
function dbinit()
) console.log("table created!")
} catch (err) ;
}function dbgethandle()
catch (err)
return db
}function dbinsert(name, teacher)
) return rowid;
}function dbreadall()
) }
})}function dbupdate(name, teacher,prowid))}
function dbdeleterow(prowid)
)}
main.qml 的**如下:
import qtquick 2.12
import qtquick.controls 2.12
import qtquick.layouts 1.12
import qtquick.localstorage 2.12
import "database.js" as js // 引入我們的js檔案
visible: true
width: 540
height: 960
title: qstr("qml sqlite")
component.oncompleted:
}
這時如果執行程式,我們發現sqlite的路徑是:
這裡james是我的使用者名稱,你用自己的使用者名稱,就可以看到你的路徑了。
那麼如何定製我們的sqlite路徑了?
看一下main.cpp檔案:
const qurl url(qstringliteral("qrc:/main.qml"));
qobject::connect(
[url](qobject *obj, const qurl &objurl) ,
qt::queuedconnection);
engine.load(url);}
Qt Qml中的布局管理
qt qml中的布局管理 qt qml中的布局管理有3套機制 1.錨布局 item元素的anchors屬性 包含x,y座標 2.定位器 定位器包括 row,column,grid,flow。定位器不會改變子元件的尺寸。定位器本身也是乙個item,可以設定其自己的錨布局。定位器可以設定add,move...
SQLite中的GUID資料
qlite實際上只有5種資料型別,null,integer,real,text,blob,guid實際上就是blob,也就是二進位制,用二進位制的方式來儲存的,只量sqlite expert通過判斷是guid型別顯示成了guid的格式。guid的二進位制格式也是有講究的,否則直接tostring 也...
sqlite中插入資料無效
在使用insert table,nullcolumnhack,values 向資料庫插入資料時,出現插入資料無效。資料庫 id為主鍵 public static voidinsert photo photo dbhandler.getinstance insert中的 為 public voidin...