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?

Qt 5.10 中的 QPainter::drawImage() 故障

QML ComboBox风格

qml Loader异步导致ComBoBox数据乱序