![]() |
|
|
![]()
|
|
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 4 Всего: 121 |
SABROG, это ж бета, какие тут могут быть претензии?)
Вот сегодня я читал про клиент для vkontakte без единой строки на С++, только JS и QML. И с кнопочками разными, полями ввода, там всё ок Плюс советую посмотреть examples. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Да это так, больше для себя. Просто думал подожду пока релиз выйдет, и правильно думал.
Почитал и я этот блог. Всё что я могу сказать, так это то, что это очередной демо-клон. Практически ничего нового я тут не увидел. Всё тот же черный интерфейс с IPhone-style кнопками. Даже background не удосужились поменять, содрали откуда-то, не помню уже. Всё тот же список с иконками как в демке flicker. Ну и используется весь доступный арсенал из "Basic Visual Items". Фантазии не видно. В то время как в репозитории примеров kinetic declarative уже есть дополнительные графические элементы типа progressbar'a, tabwidget'a. --- Упс... ![]() Это сообщение отредактировал(а) SABROG - 1.2.2010, 15:39 |
|||
|
||||
| Sovereign |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 7.11.2006 Репутация: 1 Всего: 4 |
а впринципе то svg есть, встроенный скрипт тоже, остается только визуальный редактор svg и вуаля... |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Я вот с какими трудностями столкнулся. Градиенты только вертикальные, в документации говорится - переворачивайте rect, чтобы получить горизонтальные. Если последовать их совету, то начинаются последствия. Height теперь у нас width, widht теперь height, а MouseRegion теперь возвращает внутренние координаты курсора мыши. Поднимая курсор вверх - Y координаты курсора растет, вместого того, чтобы падать, двигаем курсор вправо (по X), координата мыши Y - растет, что уже менее страшно. Я подумал и решил прибегнуть к такому ходу, создать rect, а в него впихнуть перевернутый rect с градиентом, в самом конце блока родительского rect'a создается MouseRegion, который накладывается поверх ребенка (кто последний объявлен тот на самом верху по Z), в итоге все координаты приходят нормально. Но, как например локальные координаты мыши перевести в глобальные? Как получать глобальные x,y мыши, когда происходит dragging по сцене? Я таких методов не нашел. Пока есть мысль ловить onX/YChanged, брать top left координату итема и прибавлять локальные координаты курсора на ректе.
--- Всё-таки проблема осталась. Я не могу найти способа растянуть дочерний рект на всю область родителя, после того как сделал ребенку rotate на 90 градусов. Не авторесайзится, а тупо вылазит за пределы. Это сообщение отредактировал(а) SABROG - 2.2.2010, 00:20 |
|||
|
||||
| revers |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 28.1.2010 Репутация: нет Всего: нет |
По умолчанию origin {x;y} у Rotation - (0;0), поэтому и вылазит. С мэпингом координат тоже не могу разобраться. Пытался копать в сторону QGraphicsWidget, засунутого в GraphicsObjectContainer. Вроде как у QGraphicsWidget должны быть функции mapTo*(), mapFrom*(), но что-то не выходит... |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Также пытался найти способ сменить курсор у мыши средствами QML. Естественно не нашел. Думаю его и не будет, т.к. QML больше ориентирован на мобильники о чем говорит обилие скинов в qmlviewer.
Вообще есть ли какой-нибудь способ заставить родителя "поглощать" ребенка также как это делают обычные виджеты, т.е. не рисовать его полностью на экране, если он вылазит за пределы предка? --- Еще одну особенность обнаружил. Свойство visible работает только один раз - при создании итема. Если менять его в процессе работы программы, то ничего не происходит. Свойство opacity:0 вырубает встроенный MouseRegion, поэтому на элементе с 0 прозрачностью не срабатывают onEnter и onExit. --- Еще одна вещь. При свойстве hoverEnabled в метод onPositionChanged приходит событие даже когда мышь не двигалась, а была нажата клавиша (clicked). Это сообщение отредактировал(а) SABROG - 2.2.2010, 14:50 |
|||
|
||||
| revers |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 28.1.2010 Репутация: нет Всего: нет |
Ставь свойство clip в true.
В этом коде работает как надо: мигает по таймеру.
Можно ставить 0.001, вроде не заметно. |
||||||||
|
|||||||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Твой пример у меня работает нормально. Вставляю в те же обработчики у себя - ничего не работает. Меняю visible на opacity - все работает. Мистика какая-то.
--- Похоже нашел проблему, если убрать эффект, то всё работает:
Это сообщение отредактировал(а) SABROG - 2.2.2010, 18:12 |
||||
|
|||||
| revers |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 28.1.2010 Репутация: нет Всего: нет |
Можно не убирать, а кое-что добавить, но получится явно костыль.
В слот onClicked mrWidget'а добавить
где dsEffect - DropShadow |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Тут какая-то проблема с перерисовкой получается, т.к. если рект подвигать, то всё отрисовывается. К сожалению я не нашел таких методов как update()/repaint(). Багрепорт отправил троллям. |
||||
|
|||||
| revers |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 28.1.2010 Репутация: нет Всего: нет |
Эм... не понял. В чем проблема-то? |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
В том, что при DropShadow эффекте рект перестает перерисовываться, а изменение свойства visible перерисовку не вызывает. |
||||
|
|||||
| revers |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 28.1.2010 Репутация: нет Всего: нет |
Чуток переделал твой код. По клику меняется visible. У меня все прекрасно перерисовывается. Кстати версия декларэйтива у меня из мастер ветки.
|
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Может кто видел, есть ли такая возможность присвоить геометрию одного rect'a другому, чтобы не приходилось писать портянки?
В Qt это решалось манипуляциями c QRect'ом. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |