Russian Qt Forum
Ноябрь 24, 2024, 04:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопросы по tableView  (Прочитано 2092 раз)
LNwolf
Гость
« : Апрель 26, 2016, 14:37 »

Доброго времени суток!
Вопрос такой, есть таблица, в ней надо сделать следующие вещи:
1. Размер столбцов по содержимому ячеек (читал в интернете, что можно при помощи setResizeMode, но у меня не получилось);
2. Размер самой таблицы должен быть по размеру окна программы. (решил путем скомпонования tableview по сетке)


« Последнее редактирование: Апрель 26, 2016, 15:17 от LNwolf » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Апрель 26, 2016, 15:31 »

1. Используйте setSectionResizeMode / setSectionResizeMode передавая QHeaderView::ResizeToContents
2. Используйте менеджеры компоновки на ваш выбор: QVBoxLayout/QHBoxLayout/QGridLayout
Записан

LNwolf
Гость
« Ответ #2 : Апрель 26, 2016, 15:44 »

А можно чуть подробнее про:
1. Используйте setSectionResizeMode / setSectionResizeMode передавая QHeaderView::ResizeToContents
что и куда писать? Я просто на Qt только второй день. Ниже прикрепил мой код создания таблицы, куда конкретно надо вставить ваш совет?

Код:
m = new QStandardItemModel(); //создаем переменную с моделью
ui.tableView->setModel(m); //устанавливаем в переменную модель таблицы
m->setColumnCount(v1.size()); //количество столбцов
m->setRowCount(v2.size()); //количество строк
for (int i = 0; i < v1.size(); ++i)
{
m->setHeaderData(i, Qt::Horizontal,v1[i].code); //горизонтальная шпака таблицы
for (int j = 0; j < v2.size(); ++j)
{
m->setHeaderData(j, Qt::Vertical, v2[j].code); //вертикальная шапка таблицы
}
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.141 секунд. Запросов: 22.