Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Igors от Сентябрь 08, 2019, 09:36



Название: Опять "размер до show"
Отправлено: Igors от Сентябрь 08, 2019, 09:36
Добрый день

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

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

КАК ????????

Спасибо


Название: Re: Опять "размер до show"
Отправлено: Day от Сентябрь 09, 2019, 09:29
Сталкивался с тем же вопросом. Ничего умнее не придумал, чем ручками считать ширину колонок и высоту строк, а потом tab->setMinumumWidth, tab->setMinimumHeight
Если найдете что-то поумнее, буду радоваться вместе с вами.


Название: Re: Опять "размер до show"
Отправлено: Igors от Сентябрь 10, 2019, 14:19
Сталкивался с тем же вопросом. Ничего умнее не придумал, чем ручками считать ширину колонок и высоту строк, а потом tab->setMinumumWidth, tab->setMinimumHeight
Если найдете что-то поумнее, буду радоваться вместе с вами.
Да, там лазить по исходникам чижеловато. Отпишитесь работает ли на Вашей платформе. Спасибо


Название: Re: Опять "размер до show"
Отправлено: Day от Сентябрь 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
Но любопытно, как он сделан. Исходники же есть?


Название: Re: Опять "размер до show"
Отправлено: Igors от Сентябрь 10, 2019, 18:10
Скорее всего из-за моей версии Qt4.5
метод setSizeAdjustPolicy определен только для QComboBox
Но любопытно, как он сделан. Исходники же есть?
Да, смотрел. По умолчанию sizeHint для таблицы выдает заглушку 256x192. Но если setSizeAdjustPolicy  установил AdjustToContent, то тогда размер таблицы честно считается.


Название: Re: Опять "размер до show"
Отправлено: Day от Сентябрь 10, 2019, 20:24
https://doc.qt.io/qt-5/qabstractscrollarea.html#sizeAdjustPolicy-prop
Да, введено с 5.2
Вам спасибо за наводку. Посмотрю, что можно сделать с sizeHint.


Название: Re: Опять "размер до show"
Отправлено: Dimas от Сентябрь 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


Название: Re: Опять "размер до show"
Отправлено: Igors от Сентябрь 12, 2019, 12:47
Я при создании таблицы для подгонке ширины колонки делал так:
То ясно, тема как после заполнения таблицы узнать ее размер ДО show