Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Изменение размеров доквиджета

Автор: AD 8.8.2008, 11:11

Возникла очень большая необходимость сделать возможность изменения ширины или высоты доквиджета во время выполнения программы. Кто знает как это сделать?

Вот как создана форма. Все-бы ничего, но изменять размеры доквиджетов нельзя. Если делать свойство Expnading, то размеры доквиджетов по-прежнему изменять нельзя, а сами они занимают по полформы, что меня тоже не устраивает.
Как быть? Что сделать надо?

Автор: hoRUS 8.8.2008, 14:04

Попробуй создай наследника, например QFrame или QGroupBox или любого другого виджета, который устанавливается на доквиджет с возможностью задавать sizeHint, помести его на свой доквиджет с помощью QDockWidget::setWidget().
Почитай тута: http://trolltech.com/developer/knowledgebase/550/

Автор: AD 13.8.2008, 17:54

А я правильно понимаю, что вместо компоновщиков (layout), я могу использовать сплиттеры (QSplitter)? Если можно, то можно примерчик с QDockWidget, QWidget, QTreeWidget (ну т.е. применение к той форме, что показано в прикрепленном архиве)! В книжке и справке примеры очень простые и не очень понятно, как с ними работать.

Заранее благодарен, если найдете подобное.

Автор: Litkevich Yuriy 13.8.2008, 21:47

Цитата(AD @ 13.8.2008, 21:54) *
А я правильно понимаю, что вместо компоновщиков (layout), я могу использовать сплиттеры (QSplitter)?
да

в Qt'ях есть такой пример:
%QTDIR%\examples\itemviews\chart

Автор: AD 14.8.2008, 9:36

В теме http://www.forum.crossplatform.ru/index.php?showtopic=1083 указано решение, которое помогло и мне! :)

Автор: Litkevich Yuriy 14.8.2008, 10:16

AD, мы это с тобой уже http://www.forum.crossplatform.ru/index.php?showtopic=817&hl=QDockWidget, плюс я http://www.forum.crossplatform.ru/index.php?showtopic=592&hl=QSplitter и нашел ответ

Автор: AD 14.8.2008, 10:22

Цитата(Litkevich Yuriy @ 14.8.2008, 11:16) *
AD, мы это с тобой уже http://www.forum.crossplatform.ru/index.php?showtopic=817&hl=QDockWidget, плюс я http://www.forum.crossplatform.ru/index.php?showtopic=592&hl=QSplitter и нашел ответ

Согласен, проходили, но проблема встала в том, чтобы была возможность менять размер доквиджета - этого сделать так и не удалось. Программа нормально работала только, если горизонтальный размер виджета Fixed!

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)