Как изменить размер столбцов в QTreeWidget до минимально необходимого пространства

Я студент-программист и использую Qt для создания графического интерфейса пользователя для работы. У меня есть QTreeWidget , в котором всего 8 столбцов. Входные данные, которые необходимо ввести в каждый из этих столбцов, довольно малы. В связи с этим я пытался найти способ изменить размер всех столбцов до минимального необходимого места. очень похоже на действие, которое выполняется, когда вы нажимаете на разделители. Я просмотрел несколько веб-сайтов и документацию Qt и не нашел решения. После просмотра документации кажется, что есть несколько способов сделать это, но я не могу заставить один из них работать. Я начинаю думать, что мне нужно где-то включить / отключить что-то. Это как если бы изменения, которые я записываю в свою функцию сборки (эта функция очищает таблицу; считывает данные из моего вектора, отображает определенные данные в таблице, а затем, предположительно, изменяет размер заголовков / столбцов до размера, достаточного для соответствия содержимое столбца) даже не применяются. Я пробовал следующее без изменений:

        ui->treeWidgetInjections->setColumnWidth(i, minimumWidth());
        ui->treeWidgetInjections->resizeColumnToContents(i);
        ui->treeWidgetInjections->header()->ResizeToContents;
        ui->treeWidgetInjections->header()->resizeSection(i, minimumWidth());

Все это находится в конце моей функции сборки (несвязанная информация удалена):

ui->treeWidgetInjections->clear();
    for (int i=0; i < qTreeInjectionData.size(); i++)
        {
            //fill Qtree with items;
            //fill QTree items with data;
            //re size function here;
        }

Пожалуйста, оставляйте только продуктивные отзывы, поскольку меня интересует только изучение и преодоление этой проблемы.Заранее спасибо!

10
задан Freedom_Ben 29 May 2013 в 18:23
поделиться