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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Опять "размер до show"  (Прочитано 5757 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Сентябрь 08, 2019, 09:36 »

Добрый день

Когда-то подобную тему создавал я, была такая и в этом году (и я резво давал советы  Улыбающийся). Но всякий раз когда нужно сделать подобное - у меня нет под рукой готового решения. Вот в этот раз

- есть окно с QTableWidget, (для простоты др виджетов нет), я заполнил содержимое этой таблицы и хочу чтобы она "вписалась в окно", ну или "подогнать окно под таблицу". Многочисленные эксперименты с лайаутами и QSizePolicy ничего не дали.

КАК НепонимающийНепонимающий??

Спасибо
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #1 : Сентябрь 09, 2019, 09:29 »

Сталкивался с тем же вопросом. Ничего умнее не придумал, чем ручками считать ширину колонок и высоту строк, а потом tab->setMinumumWidth, tab->setMinimumHeight
Если найдете что-то поумнее, буду радоваться вместе с вами.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Сентябрь 10, 2019, 14:19 »

Сталкивался с тем же вопросом. Ничего умнее не придумал, чем ручками считать ширину колонок и высоту строк, а потом tab->setMinumumWidth, tab->setMinimumHeight
Если найдете что-то поумнее, буду радоваться вместе с вами.
Да, там лазить по исходникам чижеловато. Отпишитесь работает ли на Вашей платформе. Спасибо
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #3 : Сентябрь 10, 2019, 15:03 »

Igors, к сожалению, нет
Код:
error: 'class QTableWidget' has no member named 'setSizeAdjustPolicy'
 error: `AdjustToContents' is not a member of `QAbstractScrollArea'
Скорее всего из-за моей версии Qt4.5
метод setSizeAdjustPolicy определен только для QComboBox
Но любопытно, как он сделан. Исходники же есть?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Сентябрь 10, 2019, 18:10 »

Скорее всего из-за моей версии Qt4.5
метод setSizeAdjustPolicy определен только для QComboBox
Но любопытно, как он сделан. Исходники же есть?
Да, смотрел. По умолчанию sizeHint для таблицы выдает заглушку 256x192. Но если setSizeAdjustPolicy  установил AdjustToContent, то тогда размер таблицы честно считается.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #5 : Сентябрь 10, 2019, 20:24 »

https://doc.qt.io/qt-5/qabstractscrollarea.html#sizeAdjustPolicy-prop
Да, введено с 5.2
Вам спасибо за наводку. Посмотрю, что можно сделать с sizeHint.
Записан
Dimas
Чайник
*
Offline Offline

Сообщений: 50



Просмотр профиля
« Ответ #6 : Сентябрь 11, 2019, 15:34 »

Я при создании таблицы для подгонке ширины колонки делал так:

Код:
#ifdef Q_QT5
            m_ui.tableWidget->horizontalHeader()->setSectionResizeMode(i, QHeaderView::ResizeToContents);
#else
            m_ui.tableWidget->horizontalHeader()->setResizeMode(i, QHeaderView::ResizeToContents);
#endif
Записан

qt 4.8.6, qt 5.12.4
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Сентябрь 12, 2019, 12:47 »

Я при создании таблицы для подгонке ширины колонки делал так:
То ясно, тема как после заполнения таблицы узнать ее размер ДО show
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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