Я студент-программист и использую 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;
}
Пожалуйста, оставляйте только продуктивные отзывы, поскольку меня интересует только изучение и преодоление этой проблемы.Заранее спасибо!