QML中的ComboBox SQL QT 5.10.1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QML中的ComboBox SQL QT 5.10.1相关的知识,希望对你有一定的参考价值。
使用QT 5.10.1,我需要用我的JS中的SQLite查询填充QML中的ComboBox列表。
我的JS的代码是:
function combobox(Prowid)
{
var db = dbGetHandle()
db.transaction(function (tx) {
var results = tx.executeSql(
'SELECT description FROM part_log where rowid = ? order by description asc',[Prowid])
for (var i = 0; i < results.rows.length; i++) {
listModel.append({
id: results.rows.item(i).rowid,
checked: " ",
description:results.rows.item(i).description
})
}
})
}
我需要comboBox包含描述列数据。
你可以帮帮我吗?
非常感谢你!
答案
这样的事情(抱歉代码格式不好)。此外,你必须从某个地方传递你的Prowid
参数。
ComboBox {
id: comboBoxContainer
width: 400
height: parent.height
textRole: "text"
model: ListModel {
id: listModel
}
delegate: ItemDelegate {
width: comboBoxContainer.width
height: 50
text: model.text
font.pixelSize: 18
font.weight: comboBoxContainer.currentIndex === model.index ? Font.DemiBold : Font.Normal
}
contentItem: Text {
leftPadding: 0
rightPadding: comboBoxContainer.indicator.width + comboBoxContainer.spacing
text: comboBoxContainer.displayText
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
font.family: "Ubuntu"
font.weight: Font.Normal
font.pixelSize: 18
elide: Text.ElideRight
}
}
Component.onCompleted: {
var db = dbGetHandle()
db.transaction(function (tx) {
var results = tx.executeSql(
'SELECT description FROM part_log where rowid = ? order by description asc',[Prowid])
for (var i = 0; i < results.rows.length; i++) {
listModel.append({
id: results.rows.item(i).rowid,
checked: " ",
text:results.rows.item(i).description
});
}
}
}
以上是关于QML中的ComboBox SQL QT 5.10.1的主要内容,如果未能解决你的问题,请参考以下文章
如何在Windows XP上部署Qt 5.10 Quick 2应用程序?
如何在 windows xp 上部署 Qt 5.10 Quick 2 应用程序?
如何将 Qt 中的 SQL 查询输出模型分配给 QML 的 TableView?