Russian Qt Forum
Ноябрь 25, 2024, 00:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Резиновый QGraphicsView ???
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Резиновый QGraphicsView ??? (Прочитано 8280 раз)
KyberProtagonistes
Гость
Резиновый QGraphicsView ???
«
:
Сентябрь 01, 2009, 20:17 »
Можно ли данный виджет сделать scratched? То есть, чтобы его размер динамически изменялся, в зависимости от того, какую я в него кидаю картинку? Я в кьюте недавно. В Борланд С++ Билдере или в wxDev-C++ это делалось просто установкой флагов Scratched или Autosize в положение true. А тут я что-то такого не нашёл.
Если такого простым флагом сделать нельзя, то не могли бы вы подсказать, как это реализовать кодом? Я имею ввиду посмотреть размер картинки и присвоить соответствующий размер виджету QGraphicsView. А потом уже загрузить в него эту картинку.
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #1 :
Сентябрь 01, 2009, 20:19 »
Кстати, как я понял, картинку запихнуть в QGraphicsView "мышкой" в QDesigner тоже нельзя? Обязательно нужно делать это в коде?
Записан
f0x
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #2 :
Сентябрь 01, 2009, 21:05 »
если я правильно понял тебе нужен QLabel
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #3 :
Сентябрь 01, 2009, 21:10 »
И правда, спасибо. Кьют оказывается очень оригинален. Я и предположить не мог, что в объект "лейбл" можно запихнуть картинку...
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #4 :
Сентябрь 01, 2009, 21:27 »
Хм. Картинку я туда запихнул. Удобно. Но всё равно не нашёл как сделать этот элемент "резиновым"...
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Резиновый QGraphicsView ???
«
Ответ #5 :
Сентябрь 01, 2009, 21:35 »
в смысле резиновым? у него если контента много, появляются скроллбары. Или тебе нужно растягивать сам виджет, на котором он лежит? Чтоб скроллбаров не было?
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #6 :
Сентябрь 01, 2009, 21:37 »
Мне скроллбары не нужны. Я хочу, чтобы если картинка, которую я запихиваю в QLabel имеет размер 10*10, сам QLabel менял свой размер тоже на 10*10. Если картинка 100*100, то чтобы QLabel стал размером 100*100.
Записан
f0x
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #7 :
Сентябрь 01, 2009, 21:42 »
void setScaledContents ( bool )
внимательней читай доки
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #8 :
Сентябрь 01, 2009, 21:45 »
Нет, это не то. Если установить это в тру, то он растягивает картинку к размеру кьюлейбла. А мне нужно наооборот: чтобы кьюлейбл растягивался или съёживался в зависимости от размера картинки.
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #9 :
Сентябрь 01, 2009, 21:48 »
Нашёл! label->adjustSize(); Всем спасибо, кто натолкнул на мысль! =)
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Резиновый QGraphicsView ???
«
Ответ #10 :
Сентябрь 01, 2009, 21:56 »
осталось только разобраться с макс размером и как следствие - пропорциями)
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #11 :
Сентябрь 01, 2009, 21:59 »
На макс. размер есть ограничение. А пропорции, вроде, меня не интересуют: что квадрат, что прямоугольник. Оно ко всему "прилипнет". А мне это и надо
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Резиновый QGraphicsView ???
«
Ответ #12 :
Сентябрь 01, 2009, 22:42 »
я сейчас экспериментировал с лейблом с изображением 2600*3800 точек) адекватно (ограничить размерами хотя бы экрана + пропорции) не получилось его сделать сходу:(
Записан
KyberProtagonistes
Гость
Re: Резиновый QGraphicsView ???
«
Ответ #13 :
Сентябрь 02, 2009, 16:27 »
Я, как уже писал, новичёк в кьюте и не очень шарю в самом Дизейнере. Но Вашу проблему, думаю, можно решить кодом. Получаете в коде программы димэншенсы картинки загружаемой. Видите сразу пропорции. Изменяете размер лейбла в соответствии с пропорциями. А потом делаете для этого лейбла setScaledContents(тру) Как-то так
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Резиновый QGraphicsView ???
«
Ответ #14 :
Сентябрь 02, 2009, 18:43 »
ну это само собой... я пробовал нативные методы, без прямых расчетов...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...