#include <iostream>
using namespace std;

class OtdelniyClassPolucheniyaDannix : QObject
{
	...
	Q_PROPERTY QAbstractItemModel* model poluchitModel() // nu ty ponel
	Q_INVOKABLE QAbstractItemModel* poluchitModel() { ... }
	
	void ustanovitNovieDannie(void* govno) 
	{
		... ustanavlivaem vse dannie u suem v nashi modeli, I NE ZABUD` ZA EMITY modeley
	}
}

// qml

ProstoiDelegate
{
	Text { text: "govno" }
}

SlojniyDelegate 
{

	MoeOxuennoeTreeView
	{
		model: OtdelniyClassPolucheniyaDannix.model // tyt tebe nado vzyat tvoi pravilnyi model dlya tekushego urovnya
	}

}

MoeOxuennoeTreeView
{
	model: OtdelniyClassPolucheniyaDannix.model
	
	delegate: Loader {
			// Gryzish delegate otnositelno tipa tvoego menu
			// ProstoiDelegate
			// SlojniyDelegate
		}
	}
	
}

int main() {
	// your code goes here
	// regestrirui OtdelniyClassPolucheniyaDannix dlya qml
	return 0;
}