我正在尝试根据 UserModel 中的 index 获取特定用户的名称(根据 wiki,这是一个列表模型)。
当我尝试使用
console.log("username: {" + userModel.get(userList.currentSelected).name+ "}")
打印名称时,出现以下错误:
Main.qml:56:TypeError:类型错误
SDDM 存储库:https://github.com/sddm/sddm/wiki/Theming
我尝试过
userModel.get(0)
,userModel.at(0)
,userModel[0]
,但这些都不适合我。
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, function() { [本机代码] }],[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() { [原生代码] }]]
正如@smr在评论中所述,
userModel.data(userModel.index(0,0), 257)
是正确的函数。