• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::
            當你使用QStandardItemModel(model)與QTableView顯示數據時, 如果數據量比較大, 如幾千上萬條, 每次給model填充數據時, 只是使用model->clear()來清空數據, 然后再填充, 速度會非常的慢. 但如果是使用delete model; model = new QStandardItemModel()顯示的刪除model, 然后再創建一個model, 這樣顯示速度會非常的快, 不知何故.
            posted on 2009-08-28 07:21 逛奔的蝸牛 閱讀(13479) 評論(5)  編輯 收藏 引用 所屬分類: Qt

            評論

            # re: Qt: QStandardItemModel的極品提示 2010-02-02 17:20 leoxiaofei
            請問一下,model怎樣填充速度快?
            我填充1000行數據(每行14列)用了20多秒
            不知道是不是我填充的方法錯了,能否指點一下,謝謝。  回復  更多評論
              

            # re: Qt: QStandardItemModel的極品提示 2010-02-02 17:28 暗金裝備
            @leoxiaofei
            感覺應該是你的程序如在取得這些數據的時候有什么地方出問題了. 顯示這些數據不會需要這么長時間. 不知道你具體是怎么做的, 不好說.  回復  更多評論
              

            # re: Qt: QStandardItemModel的極品提示 2010-02-02 19:01 leoxiaofei
            感謝您的回答,我實現的主要代碼如下:
            *.h文件
            QstandardItemModel *model = new QstandardItemModel();

            *.cpp文件
            addModelItem(QAbstractItemModel *ml,const QString &id,...(這里有14個QString))
            {
            ml->insertRow(0);
            ml->setData(ml->index(0,0),id);
            ...(一共set14個)
            }
            這是個函數()
            {
            for(int i = 0;i<1000;i++)
            {
            addModelItem(model,"1",...(14個字符串));
            }
            }

            我實在不知道問題在哪,插入這1000條記錄就用了20多秒。您如有時間,請指點一下,謝謝。  回復  更多評論
              

            # re: Qt: QStandardItemModel的極品提示 2010-02-02 19:21 暗金裝備
            看例子中的解釋, 應該就知道問題在哪了.
            Qt很多時候表現得有點怪, 必須用怪招才能解決. 在我寫項目的過程中, 遇到過很多, 感覺邏輯上沒有任何問題, 但卻不行, 換一點點方式又可以了, 就像上面文中列出來的一樣.

            int main(int argc, char *argv[]) {
            QApplication app(argc, argv);

            QStandardItemModel *model = new QStandardItemModel();
            QTableView *table = new QTableView();

            // 如果事先給 table設置了 model而不預指定好要存儲的數據的行數,則會非常慢
            // table->setModel(model); /// [[1]]
            // model->setRowCount(1000); /// [[1]]

            model->setColumnCount(14);

            for (int i = 0; i < 1000; ++i) {
            model->setItem(i, 0, new QStandardItem("1"));
            model->setItem(i, 1, new QStandardItem("2"));
            model->setItem(i, 2, new QStandardItem("3"));
            model->setItem(i, 3, new QStandardItem("4"));
            model->setItem(i, 4, new QStandardItem("5"));
            model->setItem(i, 5, new QStandardItem("6"));
            model->setItem(i, 6, new QStandardItem("7"));
            model->setItem(i, 7, new QStandardItem("8"));
            model->setItem(i, 8, new QStandardItem("9"));
            model->setItem(i, 9, new QStandardItem("10"));
            model->setItem(i, 10, new QStandardItem("11"));
            model->setItem(i, 11, new QStandardItem("12"));
            model->setItem(i, 12, new QStandardItem("13"));
            model->setItem(i, 13, new QStandardItem("14"));
            }

            // 如果你是先把數據加載到model中的,那么事先不指定要存儲的行數。
            // 先把數據存儲到model中 ,然后再給table設置model,這樣也會很快 .
            table->setModel(model); /// [[2]]

            table->show();

            return app.exec();
            }  回復  更多評論
              

            # re: Qt: QStandardItemModel的極品提示 2010-02-02 19:47 leoxiaofei
            非常感謝,看來問題出在這里。

            不過插入1w條記錄,還是用了6秒以上。
            內存占用了50M以上,看來是我的設計有問題,但是用QSqlTableModel就不占內存,不知道為什么~~汗~我是新手,謝謝您的指教。  回復  更多評論
              

            亚洲人AV永久一区二区三区久久| 久久人人爽爽爽人久久久| 久久久久亚洲精品男人的天堂| 久久精品女人天堂AV麻| 超级碰碰碰碰97久久久久| 男女久久久国产一区二区三区| 热久久这里只有精品| 亚洲国产日韩综合久久精品| 久久超乳爆乳中文字幕| 日韩AV毛片精品久久久| 99久久99久久| 99蜜桃臀久久久欧美精品网站| 999久久久国产精品| 午夜久久久久久禁播电影| 久久久国产一区二区三区| 国内精品久久国产大陆| 国色天香久久久久久久小说 | 久久久久久国产精品无码超碰| 久久―日本道色综合久久| 亚洲国产精品无码久久SM| 日韩va亚洲va欧美va久久| 久久九九有精品国产23百花影院| 欧美精品国产综合久久| 久久久久久极精品久久久| 品成人欧美大片久久国产欧美...| 久久精品中文无码资源站| 99久久国产综合精品女同图片| 一本色综合久久| 久久国产成人午夜AV影院| 国内精品久久久久久久亚洲| 色综合久久精品中文字幕首页| jizzjizz国产精品久久| 99久久超碰中文字幕伊人| 99久久中文字幕| 狠狠色丁香婷婷综合久久来 | 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久青青草原亚洲av无码| 精品久久久久久无码中文字幕| 久久99国产精品二区不卡| 久久亚洲国产中v天仙www| 国内精品久久久久久久coent |