Russian Qt Forum
Сентябрь 24, 2024, 20:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Резиновый QGraphicsView ???  (Прочитано 8209 раз)
KyberProtagonistes
Гость
« : Сентябрь 01, 2009, 20:17 »

Можно ли данный виджет сделать scratched? То есть, чтобы его размер динамически изменялся, в зависимости от того, какую я в него кидаю картинку? Я в кьюте недавно. В Борланд С++ Билдере или в wxDev-C++ это делалось просто установкой флагов Scratched или Autosize  в положение true. А тут я что-то такого не нашёл.

Если такого простым флагом сделать нельзя, то не могли бы вы подсказать, как это реализовать кодом? Я имею ввиду посмотреть размер картинки и присвоить соответствующий размер виджету QGraphicsView. А потом уже загрузить в него эту картинку.
Записан
KyberProtagonistes
Гость
« Ответ #1 : Сентябрь 01, 2009, 20:19 »

Кстати, как я понял, картинку запихнуть в QGraphicsView "мышкой" в QDesigner тоже нельзя? Обязательно нужно делать это в коде?
Записан
f0x
Гость
« Ответ #2 : Сентябрь 01, 2009, 21:05 »

если я правильно понял тебе нужен QLabel
Записан
KyberProtagonistes
Гость
« Ответ #3 : Сентябрь 01, 2009, 21:10 »

И правда, спасибо. Кьют оказывается очень оригинален. Я и предположить не мог, что в объект "лейбл" можно запихнуть картинку...  Веселый
Записан
KyberProtagonistes
Гость
« Ответ #4 : Сентябрь 01, 2009, 21:27 »

Хм. Картинку я туда запихнул. Удобно. Но всё равно не нашёл как сделать этот элемент "резиновым"...  Непонимающий
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Сентябрь 01, 2009, 21:35 »

в смысле резиновым? у него если контента много, появляются скроллбары. Или тебе нужно растягивать сам виджет, на котором он лежит? Чтоб скроллбаров не было?
Записан
KyberProtagonistes
Гость
« Ответ #6 : Сентябрь 01, 2009, 21:37 »

Мне скроллбары не нужны. Я хочу, чтобы если картинка, которую я запихиваю в QLabel имеет размер 10*10, сам QLabel менял свой размер тоже на 10*10. Если картинка 100*100, то чтобы QLabel стал размером 100*100.
Записан
f0x
Гость
« Ответ #7 : Сентябрь 01, 2009, 21:42 »

void setScaledContents ( bool )

внимательней читай доки
Записан
KyberProtagonistes
Гость
« Ответ #8 : Сентябрь 01, 2009, 21:45 »

Нет, это не то. Если установить это в тру, то он растягивает картинку к размеру кьюлейбла. А мне нужно наооборот: чтобы кьюлейбл растягивался или съёживался в зависимости от размера картинки.
Записан
KyberProtagonistes
Гость
« Ответ #9 : Сентябрь 01, 2009, 21:48 »

Нашёл! label->adjustSize(); Всем спасибо, кто натолкнул на мысль! =)
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #10 : Сентябрь 01, 2009, 21:56 »

осталось только разобраться с макс размером и как следствие - пропорциями)
Записан
KyberProtagonistes
Гость
« Ответ #11 : Сентябрь 01, 2009, 21:59 »

На макс. размер есть ограничение. А пропорции, вроде, меня не интересуют: что квадрат, что прямоугольник. Оно ко всему "прилипнет". А мне это и надо  Веселый
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #12 : Сентябрь 01, 2009, 22:42 »

я сейчас экспериментировал с лейблом с изображением 2600*3800 точек) адекватно (ограничить размерами хотя бы экрана + пропорции) не получилось его сделать сходу:(
Записан
KyberProtagonistes
Гость
« Ответ #13 : Сентябрь 02, 2009, 16:27 »

Я, как уже писал, новичёк в кьюте и не очень шарю в самом Дизейнере. Но Вашу проблему, думаю, можно решить кодом. Получаете в коде программы димэншенсы картинки загружаемой. Видите сразу пропорции. Изменяете размер лейбла в соответствии с пропорциями. А потом делаете для этого лейбла setScaledContents(тру) Как-то так Подмигивающий
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #14 : Сентябрь 02, 2009, 18:43 »

ну это само собой... я пробовал нативные методы, без прямых расчетов...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.