如何通过 QML 中 SDDM 提供的 UserModel 中的索引获取特定用户名?

问题描述 投票:0回答:1

我试图根据 UserModel 中的索引获取特定用户的名称(根据 wiki,这是一个列表模型),但我得到了

Main.qml:56:TypeError:类型错误

尝试使用

console.log("username: {" + userModel.get(userList.currentSelected).name+ "}")
打印出来时。

SDDM 参考:https://github.com/sddm/sddm/wiki/Theming

我尝试过

userModel.get(0)
userModel.at(0)
userModel[0]
,但这些都不适合我。

主要.qml

import QtQuick 2.15
import SddmComponents 2.0

Item {
    id: root
    focus: true
    Keys.onPressed: (event)=> {
        console.log("Object entries:" + Object.entries(userModel));
        console.log(userModel.itemData(userModel.index(0, 0)));
        console.log("username: {" + userModel.get(0).name+ "}")
    }
}

编辑:这是 object.entries 的输出:

[[objectName,],[lastIndex,0],[lastUser,],[count,4],[disableAvatarsThreshold,7],[containsAllUsers,true],[objectNameChanged,function() { [原生代码] }], [dataChanged,function() { [本机代码] }],[headerDataChanged,function() { [本机代码] }],[layoutChanged,function() { [本机代码] }],[layoutAboutToBeChanged,function() { [本机代码] }],[rowsAboutToBeInserted,function() { [本机代码] }],[rowsInserted,function() { [本机代码] }],[rowsAboutToBeRemoved,function() { [本机代码] }],[rowsRemoved ,function() { [本机代码] }],[columnsAboutToBeInserted,function() { [本机代码] }],[columnsInserted,function() { [本机代码] }],[columnsAboutToBeRemoved,function() { [本机代码] ] }],[columnsRemoved,function() { [本机代码] }],[modelAboutToBeReset,function() { [本机代码] }],[modelReset,function() { [本机代码] }],[rowsAboutToBeMoved,函数() { [本机代码] }],[rowsMoved,function() { [本机代码] }],[columnsAboutToBeMoved,function() { [本机代码] }],[columnsMoved,function() { [本机代码] } ],[提交,function() { [本机代码] }],[恢复,function() { [本机代码] }],[resetInternalData,function() { [本机代码] }],[hasIndex,function() { [本机代码] }],[index,function() { [本机代码] }],[parent,function() { [本机代码] }],[sibling,function() { [本机代码] }], [rowCount,function() { [本机代码] }],[columnCount,function() { [本机代码] }],[hasChildren,function() { [本机代码] }],[data,func tion() { [原生代码] }],[setData,function() { [原生代码] }],[headerData,function() { [原生代码] }],[fetchMore,function() { [原生代码] }],[canFetchMore,function() { [原生代码] }],[flags,function() { [原生代码] }],[match,function() { [原生代码] }]]

qt qml qtquick2
1个回答
0
投票

正如@smr在评论中所述,

userModel.data(userModel.index(0,0), 257)
是正确的函数。

QAbstractItemModel::数据 Qt::ItemDataRole

© www.soinside.com 2019 - 2024. All rights reserved.