Добрый день.
Создал свою реализацию 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 существует в программе в единственном экземпляре. Как создать "глобальный" указатель для всей программы, который будет доступен в каждом классе?