Название: Добавление в layout Отправлено: Igors от Март 23, 2014, 11:29 Добрый день
Создаю виджет, назначаю ему QVBoxLayout и начиняю его кнопками. Все гуд, виджет сайзится чтобы вписать содержимое (первый скриншот). Однако после show() так уже не выходит (второй скриншот). Мои потуги (sizePolicy, adjustSize, WA_Resized и.т.п.) ни к чему не повели. В чем секрет? Тестовый текст прилагаю. Спасибо Код
Название: Re: Добавление в layout Отправлено: Kolobok от Март 23, 2014, 13:26 widget нужно положить в layout dlg'a
Код: QVBoxLayout * parentLayout = new QVBoxLayout(dlg); Название: Re: Добавление в layout Отправлено: Swa от Март 23, 2014, 13:29 Да, есть такое, непонятно, баг это или так задумано, я в документации ничего не нашел. Получается, для виджетов, которые сами не находятся в лэйауте, перерасчет размеров происходит во время вызова show().
Решения два: 1. Поместить виджет widget в лэйаут. Код: QVBoxLayout* l = new QVBoxLayout(dlg); 2. Код: if (1) { Название: Re: Добавление в layout Отправлено: Igors от Апрель 07, 2014, 10:54 Через неск дней опять понадобился sizeHint, но для всего окна. Здесь предыдущие 2 метода не срабатывают (хз почему), но нашелся третий: для лайаута окна сделать removeWidget и insertWidget (на то же место). После этого sizeHint оживает :)
Спасибо ответившим Edit: аккуратнее так Код
|