Учебник для графики QPushButton
Кто-нибудь знает хороший учебник, чтобы узнать, как сделать графику / анимацию / дизайн для Qt QPushButton
?
Я искал один подходящий для меня, но я не нашел ни одного действительно интересного или хорошо объясненного.
Я прочитал документацию, но мне нужно какое-то приложение и пример. Плюс это может быть хорошим источником вдохновения.
1 ответ
Итак, когда вы смотрите на QPushButton
или любой QWidget
в этом отношении есть множество вещей, которые вы можете оживить на нем.
И все, что не является явным свойством, вы можете сделать для него обертку и создать свойство.
Сначала вы должны изучить все свойства на List of all members, including inherited members
для любого класса.
http://qt-project.org/doc/qt-5/qwidget-members.html
http://qt-project.org/doc/qt-5/qpropertyanimation.html
Некоторые из них хороши для анимации:
pos() / move()
size() / resize()
А потом, если вы добавите на QGraphicsEffect
и вы анимируете свойство эффекта, вы также можете получить некоторые аккуратные вещи.
И затем вы комбинируете некоторые из анимаций, чтобы запускаться, когда происходит определенное событие, например, когда оно показывается в первый раз, или когда оно скрывается, или когда оно находится / вводится, или когда оно остается, вы также можете получить аккуратное последствия.
И если вы поместите анимацию в цикл вместо отдельного снимка или сделаете параллельную анимацию, вы можете получить отличный эффект.
Смешайте несколько задержек и несколько анимаций, запуская кривые замедления, и вы получите классные взаимодействия.
Если вы подклассифицируете свой paintEvent, вы можете вставить переменную любого рода, которую вы изменяете со временем, и отправить ее в QPropertyAnimation
, тоже.
http://qt-project.org/doc/qt-5.0/qtcore/properties.html
Одним из лучших мест, где можно узнать о том, что можно сделать с помощью анимации, являются примеры Qt.
http://qt-project.org/doc/qt-5/examples-animation.html
http://qt-project.org/doc/qt-5/qtwidgets-animation-animatedtiles-example.html
Пример "Анимированной плитки" - фантастический, и это отличное место для начала.
Если вам не нужна анимация, а просто изменение стиля при наведении, настройка таблицы стилей является гораздо более простым способом достижения этого эффекта.
Надеюсь, это поможет.