Создание моделей деревьев в qt и отображение данных - PullRequest
2 голосов
/ 27 мая 2011

Я просмотрел документы qt на примерах моделей деревьев.Я изо всех сил пытаюсь сопоставить мою структуру данных с моделью.

У меня есть массив mystructs, которые я хотел бы отобразить в дереве, может кто-нибудь предложить какую-либо помощь в том, как это сделать.Структура показана ниже

struct mystruct{
    int id;
    float val;
    struct settings{
            QString setting_1;
            QString setting_2;
            bool on;
    };
};

Я пытаюсь вписать эту структуру в пример qt simpletreemodel.

Спасибо

1 Ответ

0 голосов
/ 27 мая 2011

Вы можете сделать что-то подобное:

Реализация дерева как 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");
...

Опять же, это простое решение, но я думаю, что вы можете делать сложные вещи с этим.

ПРИМЕЧАНИЕ: когда я сказал

Вам нужно взаимодействовать много со структурой

Я имел в виду, вам нужен пользовательский выбор, пользовательское издание, пользовательский дисплей ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...