我正在做一些重構。我正在實施模型 - 視圖 - 控制器模式。該視圖是一個Qt小部件。使用QAbstractTableModel子類的Qt小部件的MVC
最初,Qt小部件在堆上創建了一個QAbstractTableModel子類的新實例。讓我們稱之爲FooTableModel。
e.g
Widget::Widget(QWidget* parent)
:
QWidget(parent)
m_model(new FooTableModel(this))
{
我應該在MVC模式,而不是創建FooTableModel的新實例?
通過這樣做,我可以創建視圖的依賴(假設我還是widget的指針傳遞給FooTableModel構造函數)
或者,我可以在任何傳遞給FooTableModel構造並手動刪除FooTableModel我MVC模型。 *
最後一個選項是將FooTableModel的創建保留在小部件中。 (並讓小部件直接處理FooTableModel?)
任何建議或偏好?
我的猜測是現在就去*。
感謝您的建議。 :)我的MVC模型不是QObject,所以我會在其析構函數中進行清理。我的MVC模型正在處理整個小部件的數據,其中FooTableModel被用於在小部件上繪製的QTableView。我現在可能會堅持下去。 「如果你使用的是Qt,FooTableModel就是模型」。你的意思是我應該使用Qt模型作爲整個小部件的模型? (而不是滾動我自己)我不知道我會如何做到這一點。我通常將Qt模型與其相關的視圖聯繫起來。 – 2009-08-04 07:39:27