qabstractitemmodel

    1熱度

    2回答

    我有一個自定義QSortFilterProxyModel只顯示錶中的某些行和列。我也有一個自定義QItemDelegate來控制如何繪製表中的某些值。我只是將委託應用到需要它的列,問題似乎是,當我有代理模型隱藏某些列時,它會弄亂委託。 例如,假設我有列AG和我申請我的自定義委託給列F A B C D E F G ------------------- o o o o o X o o o o

    3熱度

    1回答

    我很困惑於QML。自從幾個星期以來,我嘗試使用QML在視頻中實現註釋內容的時間軸,但我無法真正實現它,因爲我對QML很陌生。 我試着讓你解決我的問題。這是一個例子,時間軸的外觀應該如何: Timeline example 我得到了不同的軌道,其中我存儲了不同的註釋,這些註釋只是表示從開始到結束點視頻包含給定軌道的註釋。例如,如果我爲包含晴朗圖像的視頻中的所有場景進行註釋,則每個註釋框都會標記視頻中

    0熱度

    1回答

    當構造一個QComboBox(),該模型是初始的「空」(即沒有附加模型)。在分配模型QComboBox::setModel()後,附上模型。現在,我需要將QComboBox模型重置爲之前的狀態:「空」或「無」。 我有一個叫chbW1的QCheckBox以及名爲cbWaehrung1的QComboBox。在檢查QCheckBox之前,未附加任何型號,並且QComboBox爲空。如果選中QCheckB

    1熱度

    1回答

    我有一個包含很多項目的自定義樹模型。它在頂層以下的第一層有超過1000000個項目。當我在QTreeView中擴展此級別時,即使這些項目不可見(您需要向下滾動,向下,向下滾動以使其可見),每個項目都會調用model.hasChildren()。麻煩的是,我的函數hasChildren()需要一些時間,特別是當被調用百萬次(大約需要10秒 - 在PySide/PyQt中)。我的問題是: 1)據我所知

    0熱度

    1回答

    比方說,我決定從我的模型中隨機刪除一些項目。我有這些項目的參考,但這還不足以正確調用beginRemoveRows()方法。它需要知道每個項目的QModelIndex。 但是爲了獲得項目的QModelIndex,我需要知道父項的QModelIndex! virtual QModelIndex index(int row, int column, const QModelIndex & paren

    0熱度

    2回答

    我的應用程序是一個工具庫管理器。它有一個包含列表和工具列表的樹形視圖。它也有一個表格顯示工具列表。 當我在樹狀列表點擊,我想表明兒童列表中的tableview。當我點擊樹中的單個工具時,我切換小工具並顯示工具的編輯窗體。 如何限制的tableview只在樹視圖中選擇的節點的孩子? 我的數據模型是一個自定義qAbstractItemModel。

    0熱度

    1回答

    我寫了一個派生自QAbstractModelItem的類。它在QTreeView上使用。令人遺憾的是,官方文檔示例並未顯示如何添加或刪除模型上的項目。我認爲這很容易做到,所以我闖入了它。問題是刪除選定的對象會導致異常。例如: 用戶單擊QTreeView上的一行,並希望將其與其所有子項(如果有)一起刪除。這是一個被執行的代碼: MyModel.cpp: // This gets called w

    0熱度

    1回答

    在此之前,我詢問a question關於我們需要表示多個列過濾,以表示適合多個過濾器模式的行。 現在,當處理大表(通過big我的意思是大約200,000行和4列),如果我們有一個大的表(通常這是過濾器模式的前2個字符中最差),過濾會變得很慢。 那麼你對此有何建議? 注:我有自己的高性能源數據模型基於this例如巫喂約1秒 編輯1 我的該行數的視場改變我的方法(而不是QStandardItemMod

    2熱度

    1回答

    我仍然很難理解QAbstractItemModel的項目表示。有兩種方法可以返回對我沒有任何意義的QModelIndex項目。 QModelIndex QAbstractItemModel::index(int row, int column, const QModelIndex& index) 是第一個。傳遞給這個函數的視圖是什麼?我索引特定樹項目以創建索引?如果是這樣,該功能有什麼意義?爲

    0熱度

    1回答

    我創建了一個mixin-like代理模型(Qt5),它只是將另一個第一列添加到另一個代理模型,用於將動作添加到表格視圖(例如,「刪除」按鈕)。該模型僅爲第一列填充QList<QVariant>提供了一種方法。代表必須知道每個QVariant(通常是ints/enum的標識操作)的含義,並相應地填充QToolBar。作爲最後一項功能,如果沒有任何操作,則不會添加額外的列(在這種情況下,它的行爲類似於