Добрый день.
Создал свою реализацию QAbstractTableModel (Model) и QSortFilterProxyModel (Proxy). Данные для модели передаю через указатель. Для этого приходится делать следующее:
C++ (Qt)
class ModelWellList : public QAbstractTableModel
{
public:
...
void setShareData(const SharedData*);
private:
...
const SharedData* m_data;
};
Однако и Proxy для работы необходимо знать данные, поэтому обеспечиваю Proxy данными:
C++ (Qt)
class ProxyWellList: public QSortFilterProxyModel
{
public:
...
void setSharedData(const SharedData*);
private:
const SharedData* m_data;
Получается следующее. Из основного окна в виджет передаю общие данные
C++ (Qt)
navigatorWidget->setShareData(&m_data);
Затем в виджете указатель передается в модель и прокси
C++ (Qt)
modelWellList->setShareData(m_data);
proxyWellList->setSharedData(m_data);
Можете предложить более элегантное решение? m_data существует в программе в единственном экземпляре. Как создать "глобальный" указатель для всей программы, который будет доступен в каждом классе?