Я обновляю qml Listview из c ++ как;
в main.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
}}
в listeci .h;
public:
QStringListModel listeElemanlar;
private:
QStringList userAyarlari;
в listeci.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);
В чем может быть причина?