Название: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: Cugop от Январь 21, 2013, 04:26 1) При помощи шаблона «Проект Qt Widget»-> «GUI приложение Qt» было создано минимальное приложение.
2) Используя Qt Designer кинуто два verticalLayout в один из которых был при помощи Qt Designer помещен textEdit, во второй, используя http://www.prog.org.ru/topic_13567_0.html (http://www.prog.org.ru/topic_13567_0.html), программно помещен собственный виджет для рисования рис.1. 3) Если убрать verticalLayout с textEdit и после использовать в Qt Designer компоновку по вертикали Cntr+L. После компиляции с изменением размера окна программы происходит масштабирование рисунка в виджете. (Рис.2) 4) При возвращении обратно verticalLayout с textEdit как в пункте 2, манипуляция, описанная в пункте 3, не приводит к желаемому результату. textEdit перекрывает виджет для рисования. Если же не использовать компоновку по вертикали Cntr+L, компоненты остаются на месте и маштабирования не происходит. 5) Вопрос: Подскажите, пожалуйста, возможно ли средствами Qt Designer-а сделать размещение компонент textEdit и виджета для рисования, что бы после компиляции программы масштабировался как textEdit так и виджет для рисования? Название: Re: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: kambala от Январь 21, 2013, 05:15 не кидать никаких verticalLayout на виджет, а сразу сделать «компоновку по вертикали»
Название: Re: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: carrygun от Январь 21, 2013, 05:21 Если сделать компоновку по вертикали, то виджеты сразу будут растягиваться пропорционально. Еще можно поиграться со setStretch() у лэйаута.
Для размещения виджета для рисования, можно кинуть на форму в дизайнере просто QWidget и воспользоваться функцией "Преобразовать в...". Название: Re: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: Cugop от Январь 21, 2013, 15:18 kambala:
Если не использовать verticalLayout, а применить сразу «компоновку по вертикали», виджет для рисования переноситься в левый правый угол рис. 3. Если же все-таки кинуть verticalLayout только для виджета, с кодом Код: ui->verticalLayout->addWidget(wgt); carrygun: Попробовал setStretch() никаких результатов. Использовал функцию в Qt Designer "Преобразовать в...", если просто кидаешь только один виджет - рисует, при попытке компоновать с textEdit остается лишь один textEdit (рис.4) Получается Qt Designer не может компоновать с масштабированием обычные виджеты (QWidget)? Только ручная компоновка. Название: Re: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: kambala от Январь 21, 2013, 17:04 у меня почему-то описанные мною действия приводят к нужному результату, только надо с растяжением поиграться для нужной высоты своего виджета.
если ты уже скомпоновал в дизайнере, то в коде не нужно ничего компоновать («программно помещен собственный виджет для рисования»). Название: Re: Использования Designer для масштабирования виджетов при изменении главного окна Отправлено: Cugop от Январь 21, 2013, 17:43 kambala, спасибо, понял как это делается, да нужно было поменять в Qt Designer minimumSize.
carrygun, тоже спасибо, особенно за Цитировать Для размещения виджета для рисования, можно кинуть на форму в дизайнере просто QWidget и воспользоваться функцией "Преобразовать в...". |