![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
__ilya__ |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 19.1.2012 Пользователь №: 3143 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ни как не врублюсь в сигналы и слоты. По этой причине OpenGL в месте с SDL использую, а мне хотелось с Qt
простой пример
во куски кода на SDL. я нажимаю на стрелки и объект транслируется. А как на Qt сделать? В летиратуре про сигналы и слоты, слишком мало сказано, я считаю. Может этот пример внесет дополнительную ястность. |
|
|
sidsukana |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Если нужно по нажатию клавишь сделать действие, то сигналы и слоты тут не причем. У всех виджетов есть набор виртуальных методов-ивентов с помощью которых можно сделать большинство обновляемых событий.
В твоем случае это
Однако для этого нужно наследоваться с QWidget, а точней с QGLWidget (я смотрю ты ogl отдельно юзаешь, хотя в Qt он встроеный) Допустим у меня вращение объекта в графическом виджете вот так реализовано.
Сообщение отредактировал sidsukana - 2.4.2012, 13:50 |
|
|
__ilya__ |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 19.1.2012 Пользователь №: 3143 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
спасибо.
скажите еще Цитата (я смотрю ты ogl отдельно юзаешь, хотя в Qt он встроеный) setXRotation(xRot + 8 * dy); setYRotation(yRot + 8 * dx); это базовые методы QT, или пользовательские? и еще два вопроса: как это с помощью оконных кнопок сделать? как эти параметры с клавиатуры задавать? я имею в виду вводить числа, соответствующие углам поворота и трансляции. |
|
|
sidsukana |
![]()
Сообщение
#4
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
спасибо. скажите еще Цитата (я смотрю ты ogl отдельно юзаешь, хотя в Qt он встроеный) setXRotation(xRot + 8 * dy); setYRotation(yRot + 8 * dx); это базовые методы QT, или пользовательские? и еще два вопроса: как это с помощью оконных кнопок сделать? как эти параметры с клавиатуры задавать? я имею в виду вводить числа, соответствующие углам поворота и трансляции. Функции ротации взяты из примера, они являются сигнализаторами изменения ротации объекта для ogl виджета
С помощью кнопок тоже просто - вызывать эти функции из слота который соединяется с кнопкой вот так
Где angle можно будет вычислить из последних+настроечных данных Допустим xRot вы указываете в настройках, тогда параметром передаете значения той настройки (это может быть скрытое текстовое поле или QSettings или еще что) |
|
|
__ilya__ |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 19.1.2012 Пользователь №: 3143 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
понятней стало.
оконные кнопки прямо поверх,OGl изображения будут? |
|
|
Рюк |
![]()
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 14.8.2012 Пользователь №: 3484 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
и не надейся! тебе нужно графическое представление, и малевать ГЛ сцену в бекграунде.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 28.4.2025, 18:55 |