crossplatform.ru

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

Arceny
  опции профиля:
сообщение 18.6.2009, 23:08
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 15.4.2008
Из: Брянск
Пользователь №: 149

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




Репутация:   0  


Здравствуйте.

Сейчас пишу лабу... шашечки :-) Там имеется виджет, на котором всё рисуется.
Называется CheckersPicture, в Qt Designer'е сделан promote. Но не суть важно.



Требуется, чтобы изменение размера виджета происходило вместе с изменением размера главного окна таким образом, что ширина и высота виджета были бы одинаковы.
Как я понимаю копать нада в сторону sizeIncrement'а, но каким образом - не понятно. И что-то писать в переопределённом resizeEvent().

Есть другой подход, растягивать окно как угодно, а для виджета смотреть, что больше - высота или ширина, и в соответствии с этим выставлять координаты для Painter'а.
В итоге получится что-то типа такого:


Какие есть варианты?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 4)
Arceny
  опции профиля:
сообщение 18.6.2009, 23:44
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 15.4.2008
Из: Брянск
Пользователь №: 149

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




Репутация:   0  


Update: вопрос по растягиванию всего окна в соответствии с height=width виджета актуален (самому интересно)

А пока получилось вот такое чудо:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.6.2009, 0:09
Сообщение #3


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

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

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




Репутация:   94  


Цитата(Arceny @ 19.6.2009, 3:08) *
копать нада в сторону sizeIncrement'а,
сюда не надо копать. Это свойство доступно только на X11

надо переопределить метод sizeHint, который возвращает по запросу компоновщика (QLayout) желаемый размер для виджета.
Но вычисление размера (QSize) лучше делать раньше, например, в обработчике события именения размера (resizeEvent).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 19.6.2009, 0:20
Сообщение #4


Участник
**

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

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




Репутация:   9  


Вот статейка: http://www.crossplatform.ru/node/227
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.6.2009, 1:02
Сообщение #5


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

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

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




Репутация:   94  


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

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 8.6.2025, 16:22