Как нарисовать текст в углу QGlWidget? |
Здравствуйте, гость ( Вход | Регистрация )
Как нарисовать текст в углу QGlWidget? |
RazrFalcon |
14.10.2012, 20:19
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Есть сцена в gl. Нужно в углу выводить инфу. Не пойму как эти координаты получить.
Рисую через renderText(); |
|
|
Snake174 |
15.10.2012, 4:58
Сообщение
#2
|
Студент Группа: Участник Сообщений: 89 Регистрация: 18.4.2011 Из: Миасс Пользователь №: 2613 Спасибо сказали: 9 раз(а) Репутация: 0 |
Ну смотря в каком углу надо выводить и где у тебя точка отсчёта (0;0;0) находится - в центре или в левом верхнем углу.
Если точка отсчёта (0;0;0) находится в центре, а вывести нужно в левый нижний угол, можно попробовать так:
Сообщение отредактировал Snake174 - 15.10.2012, 8:04 |
|
|
RazrFalcon |
15.10.2012, 14:35
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Все равно в центре рисует =/
У меня в общем центр координат в центре виджета. Вот мой код:
Сообщение отредактировал RazrFalcon - 15.10.2012, 14:36 |
|
|
Snake174 |
16.10.2012, 5:09
Сообщение
#4
|
Студент Группа: Участник Сообщений: 89 Регистрация: 18.4.2011 Из: Миасс Пользователь №: 2613 Спасибо сказали: 9 раз(а) Репутация: 0 |
А если так попробовать:
Началом отсчёта делаем верхний левый угол.
Вставляй код после отрисовки фигур, иначе текст будет перекрываться ими. Сообщение отредактировал Snake174 - 16.10.2012, 7:18 |
|
|
RazrFalcon |
16.10.2012, 16:41
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Хм... таки заработало, правда пришлось переписать вот так, иначе сам рисунок тоже отображался в углу.
Возможно не совсем правильно, но вроде как работает. Спасибо. PS: я с GL неделю Сообщение отредактировал RazrFalcon - 16.10.2012, 16:42 |
|
|
vankleef |
17.10.2012, 21:08
Сообщение
#6
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
Если не критично, то можно через qDebug() выводить.
Тоже как-то пытался текст вывести, так и ниасилил |
|
|
RazrFalcon |
18.10.2012, 15:16
Сообщение
#7
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Та я тоже через qDebug сначала выводил. Но надоело захламлять выхлоп проги.
Да и, имхо, дебаг слегка медленней GL. Учитывая сколько раз он вызывается. Да и проблема по сути решена, в углу выводит |
|
|
lanz |
28.1.2013, 14:57
Сообщение
#8
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Есть сцена в gl. Нужно в углу выводить инфу. Не пойму как эти координаты получить. Рисую через renderText(); Может кому то еще понадобится. Нужно использовать другую перегрузку renderText - void QGLWidget::renderText ( int x, int y, const QString & str, const QFont & font = QFont(), int listBase = 2000 ) http://doc.qt.digia.com/qt/qglwidget.html#renderText Там же внизу ссылка на пример оверпэйнта с помощью QPainter::drawText |
|
|
Текстовая версия | Сейчас: 27.4.2024, 6:32 |