Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Ksar13th от Март 21, 2012, 19:02



Название: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 19:02
Итак, как я в данный момент представляю систему:
На форме лежит graphicsView. Мы создаём динамично QGraphicsScene и добавляем в неё кучу QPixmap. И затем кидаем QGraphicsScene на graphicsView. Если пользователь тыкает(прАстите мой жаргон) по graphicsView мы отлавливаем координаты тыка и определяем тем самым на какой из Пиксмапов пользователь желал попасть пальцем. Так?

Если да, то вопрос - как добавить в QGraphicsScene пиксмап при этом указав, что его координаты (x,y), а размеры (w,h)? И как отловить координаты тычка пользователя? Прошу помощи - ибо в данный момент времени вообще не осталось.(( Пока поползу ещё погуглю.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 19:04
*пока читаю ток что найденную статью http://doc.crossplatform.ru/qt/4.3.5/graphicsview.html ... вроде должна помочь*


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 19:46
Окей, дополз до этого
QGraphicsPixmapItem* test1=scene->addPixmap(QPixmap("E:\\QTexperiments\\tratatata_tata\\png\\13!.png"));
 test1->setPos(400,400);
 test1->rotate(45);

как изменить размеры объекта(картинки)? Не найду.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 19:51
Окей, вроде "test1->scale(0.5,0.5);" спасает. Но можно ли задать жёсткие размеры элемента?


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Bepec от Март 21, 2012, 20:12
ДА )


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 20:14
КАК ? )

ps: и я тут сижу плачу - как присобачить QPropertyAnimation объекту QGraphicsPixmapItem? цель изменять его форму и положение.(((


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: V1KT0P от Март 21, 2012, 20:42
КАК ? )

ps: и я тут сижу плачу - как присобачить QPropertyAnimation объекту QGraphicsPixmapItem? цель изменять его форму и положение.(((
Без понятия, но если другого выхода нету, то можно вот такой костыль:
1) QPropertyAnimation запихнуть в QWidget.
2) QWidget запихнуть в QGraphicsProxyWidget(он унаследован от QGraphicsWidget, который унаследован от QGraphicsObject, который унаследован от QGraphicsItem который как раз можно добавить в QGraphicsScene). =)

Вообще посмотри все классы QGraphics*, там есть интересные: QGraphicsEffect, QGraphicsObject.

Насчет формы глянь на QGraphicsLayout.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 21, 2012, 21:58
Пол часа назад пришло озарение - время кончилось.((
Так что заканчиваю маится с красотой - оставлю как есть. И прополз по всем классам - там дофига всего и всё интересно :D ; постепенно буду изучать... пока же time is out.))

Кстать, не в тему, но никто не знает ответа(?) на такое - на материнке(intel d945 чёто там) у компа есть ком порт, поставили ток что норм виндовс ХР - никак не хочет ком порт определять. Даже в диспетчере устройств его нету(ЛПТ порт есть, а ком порта нету).... Уже вроде и дрова поставил... эх... через час поползу все знакомые форумы на уши поднимать с этим вопросом.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: BRE от Март 21, 2012, 22:01
А в биосе ком порт включили?


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 22, 2012, 01:04
Ээээ, его надо включать в биосе? О_о Ыыыы, крутяк!)) Попробую завтра.
*Пока же пробегусь по Московским магазинам... поищу PCIную плату с ком-портом... я правильно надеюсь - работа(через открыть файл, записать в файл) с таким портом не будет отличаться от обыкновенного порта в материнке?*


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Bepec от Март 22, 2012, 01:06
Ищи MOXA. Плата расширения на 4 COM порта. Да, ничем не будет отличаться, за исключением скоростей. Моксовские порты поддерживают 900000+ скорости :)


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 22, 2012, 11:50
Да, в биосе был тот порт. Крутяк! И чувствую себя говном - сколько живу, не знал что вся перефирия материнки включается в биосе.((

Ммм, МОХА, неплохо. Посмотрю. Уже присмотрел плату с одним лпт портом и двумя ком портами, лень щас смотреть чья она, но взять что нибудь такое нужно будет(пока необходимость отпала) - не люблю когда в железе чего то не хватает.)) Хотя уже подошёл к выводу, что пора перебираться на USB порт или хотя бы на эмуляторы ком порта для USB-портов.

ps: не охота плодить темы с нубскими вопросами - но не подтолкнёте к ответу на: как скомпилить прогу в полноценный exe файл в Qt Creator? О-о Может у кого валяется памятка на компе по этому делу - скиньте, буду благодарен.  :)


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: V1KT0P от Март 22, 2012, 11:55
как скомпилить прогу в полноценный exe файл в Qt Creator?
Как это полноценный? Щас что компилит неполноценные? Что за дискриминация исполняемых файлов.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: Ksar13th от Март 22, 2012, 13:14
Ну вот, что ни форум, всё норовят обвинить в рассизме.)
Я имел ввиду - как получить exe файл с программой, который моно перекинуть на другой комп, без установленных дистрибутивов среды и библиотеки Qt и он бы заработал, а не начал клянчить всевозможные библиотеки?)


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: mutineer от Март 22, 2012, 13:16
Ну вот, что ни форум, всё норовят обвинить в рассизме.)
Я имел ввиду - как получить exe файл с программой, который моно перекинуть на другой комп, без установленных дистрибутивов среды и библиотеки Qt и он бы заработал, а не начал клянчить всевозможные библиотеки?)

собрать Qt статически и потом собирать свое приложение. Но лучше отказаться от этой затеи и поставлять либы вместе с exe

А еще лучше воспользоваться поиском по форуму


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: V1KT0P от Март 22, 2012, 13:36
Ну вот, что ни форум, всё норовят обвинить в рассизме.)
Я имел ввиду - как получить exe файл с программой, который моно перекинуть на другой комп, без установленных дистрибутивов среды и библиотеки Qt и он бы заработал, а не начал клянчить всевозможные библиотеки?)
Я последние два дня пытался это сделать. И оба раза после многочасовой компиляции происходила ошибка =).
Вот официальный гайд по статической компиляции 4.7.0: http://qt-project.org/wiki/How_to_build_a_static_Qt_version_for_Windows_with_gcc (http://qt-project.org/wiki/How_to_build_a_static_Qt_version_for_Windows_with_gcc)
Чтоб прога 100% собралась статически нужны вот такие опции:
Код:
CONFIG += static
QMAKE_CXXFLAGS += -static -static-libstdc++ -static-libgcc
Вроде можно обойтись только первой строчкой, но я до этого еще не дошел и проверить не могу.
Конфигурировал сборку я вот так:
Код:
configure.exe -prefix F:/qt480static -static -debug-and-release -opensource -confirm-license -platform win32-g++ -no-exceptions -dont-process -no-qt3support -no-webkit -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -no-phonon -no-phonon-backend
Генерировал мейкфайлы вот так:
Код:
qmake.exe projects.pro QT_BUILD_PARTS=libs JAVASCRIPTCORE_JIT=yes
Запускал компиляцию вот так:
Код:
mingw32-make.exe
Но к сожалению неудачно. Думаю надо еще раз попробовать, ибо первый раз я немного напортачил и думаю что из-за этого перекомпиляция не удалась.

Если кто знает где ошибся или есть опыт отпишитесь, очень хочется для теста собрать статический 4.8.0.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: V1KT0P от Март 22, 2012, 16:32
Я сделал это с третьей попытки! Даже не верится =). Qt 4.8.0 static, MinGW 4.6.3, Windows XP.
Стандартный GUI проект скомпилился размером 7.85 метров, что неплохо учесть что динамические библиотеки весят 12.5 метров.
Упакованный upx-ом весит 2.54 метров, что неплохо учесть что динамические библиотеки упакованные 7zip-ом весят 3.55 метров.
Если учесть что программа при статической сборке меньше весит на 10(12.5 - 2.5) метров чем программа с динамическими библиотеками, то на винде можно такую вещь использовать. Но применять статическую сборку надо только на последнем этапе, ибо дебажная сборка начинается от 150 метров ;D.


Название: Re: QGraphicsScene и пара вопросов.
Отправлено: twp от Март 22, 2012, 16:40
ну не удивительно, ведь статическая либа - это просто архив объектников и при сборке приложения линкуются только необходимые объектные файлы.