Вы можете сделать что-то подобное:
Реализация дерева как QTreeWidget
class YourTreeWidget : public QTreeWidget
{
public:
...
//reimplement useful stuff of the QTreeWidget
//like onItemClicked(...)
};
Затем реализуйте элементы, связанные с mystruct
экземпляром
class mystruct;
class YourTreeWidgetItem : public QTreeWidgetItem
{
public:
YourTreeWidgetItem(mystruct*);
mystruct* getData() { return data;}
private:
mystruct* data;
}
Позже создайте один YourTreeWidget
и добавьте по одному элементу для каждого экземпляра mystruct
, имеющегося в вашем массиве.
Не забудьте правильно отформатировать QTreeWidget
в соответствии с данными, которые вы указали в своих элементах.
setHeaderLabels( QStringList() << "Column 1" << "Column 2");
...
Опять же, это простое решение, но я думаю, что вы можете делать сложные вещи с этим.
ПРИМЕЧАНИЕ: когда я сказал
Вам нужно взаимодействовать много со структурой
Я имел в виду, вам нужен пользовательский выбор, пользовательское издание, пользовательский дисплей ...