【问题标题】:qt qml QListview updating slowqt qml QListview 更新慢
【发布时间】:2020-01-06 09:04:05
【问题描述】:

我正在从 c++ 更新 qml Listview 之类的;

在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 侧的按钮时,我可以成功创建一个列表并在 qml Listview 上显示
frmlisteci.listeGuncelle()

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

listeElemanlar.setStringList(userAyarlari);

可能是什么原因?

【问题讨论】:

    标签: qt listview qml qt-quick qstringlist


    【解决方案1】:

    我发现问题是由stackview引起的......

    我正在通过 stackview.pop 在页面之间导航。 我把pop换成replace,问题就解决了......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多