crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Изменение размеров доквиджета
AD
  опции профиля:
сообщение 8.8.2008, 11:11
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


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

Вот как создана форма. Все-бы ничего, но изменять размеры доквиджетов нельзя. Если делать свойство Expnading, то размеры доквиджетов по-прежнему изменять нельзя, а сами они занимают по полформы, что меня тоже не устраивает.
Как быть? Что сделать надо?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
hoRUS
  опции профиля:
сообщение 8.8.2008, 14:04
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


Попробуй создай наследника, например QFrame или QGroupBox или любого другого виджета, который устанавливается на доквиджет с возможностью задавать sizeHint, помести его на свой доквиджет с помощью QDockWidget::setWidget().
Почитай тута: http://trolltech.com/developer/knowledgebase/550/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 13.8.2008, 17:54
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


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

Заранее благодарен, если найдете подобное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.8.2008, 21:47
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


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

в Qt'ях есть такой пример:
%QTDIR%\examples\itemviews\chart
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 14.8.2008, 9:36
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


В теме QSplitter в дизайнере указано решение, которое помогло и мне! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2008, 10:16
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


AD, мы это с тобой уже проходили, плюс я тему создавал и нашел ответ
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 14.8.2008, 10:22
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 14.8.2008, 11:16) *
AD, мы это с тобой уже проходили, плюс я тему создавал и нашел ответ

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

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 21:03