qt qml QListview 更新缓慢



我正在从 c++ 更新 qml 列表视图,例如;

主要.cpp;

listeci frmlisteci;
engine.rootContext()->setContextProperty("listeElemanlar", &frmlisteci.listeElemanlar);

在Liste.qml中;

ListView{
id: listeciElemanlar
anchors.fill: parent
model: listeElemanlar
delegate: Text{
text: display
verticalAlignment: Text.AlignBottom
width : parent.width
color: textRengi
font.pointSize: 30
leftPadding: 20
}}

在利斯特西;

public:
QStringListModel listeElemanlar;
private:
QStringList userAyarlari;

在利斯特奇.cpp;

listeci::listeci(QObject *parent) : QObject(parent)
{
// Kullanıcı ayarları elemanları
userAyarlari.append("Kullanıcı ayarı 01");
userAyarlari.append("Kullanıcı ayarı 02");
userAyarlari.append("Kullanıcı ayarı 03");
userAyarlari.append("Kullanıcı ayarı 04");
userAyarlari.append("Kullanıcı ayarı 05");
userAyarlari.append("Kullanıcı ayarı 06");
userAyarlari.append("Kullanıcı ayarı 07");
userAyarlari.append("Kullanıcı ayarı 08");
userAyarlari.append("Kullanıcı ayarı 09");
userAyarlari.append("Kullanıcı ayarı 10");
userAyarlari.append("Kullanıcı ayarı 11");
userAyarlari.append("Kullanıcı ayarı 12");
userAyarlari.append("Kullanıcı ayarı 13");
userAyarlari.append("Kullanıcı ayarı 14");
userAyarlari.append("Kullanıcı ayarı 15");
userAyarlari.append("Kullanıcı ayarı 16");
userAyarlari.append("Kullanıcı ayarı 17");
userAyarlari.append("Kullanıcı ayarı 18");
userAyarlari.append("Kullanıcı ayarı 19");
}
void listeci::listeGuncelle()
{
listeElemanlar.setStringList(userAyarlari);
}

有了这些行,我可以成功创建一个列表并显示在 qml Listview 上,当我通过调用单击 qml 侧的按钮时

frmlisteci.listeGuncelle()

但是当我在挂载后执行此过程时,(我们可以说刷新列表(代码变得很慢,并等待这一行:

listeElemanlar.setStringList(userAyarlari);

可能是什么原因?

我发现问题是由堆栈视图引起的....

我正在通过stackview.pop在页面之间导航。 我更改了要替换的流行音乐,问题解决了....

最新更新