我有一個Qt C++應用程序,它基於QAbstractItemModel使用幾個不同的模型(最終)。爲QAbstractItemModel項指定委託類
這些模型中的一些項目使用自定義委託來正確渲染它們,這些工作很好。
但是,我不確定如何指定這些委託類中的哪一個應該用於呈現數據。
目前,我在每個包含視圖的表單中調用QAbstractItemView :: setItemDelegateForColumn()。
這感覺非常笨拙,因爲它依賴於表單類,知道哪個委託應該用於每個模型中的每一列 - 如果將來發生變化,我必須更新每一個表單。
此外,在某些情況下,View會在需要不同委託的兩個不同模型之間切換,因此對於這些類型,窗體類也必須處理該切換。
有沒有更好的方法來做到這一點?