Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: qtkoder777 от Сентябрь 15, 2017, 11:45



Название: Как повернуть текст на QGLWidget?
Отправлено: qtkoder777 от Сентябрь 15, 2017, 11:45
Код
C++ (Qt)
glPushMatrix();
glScaled(3,3,3);
glRotated(60,0,1,0);
w->renderText(0, 0, 0, Name());
glPopMatrix();
QT 4.8
Текст всегда горизонтален. Где-то внутри сбрасывают матрицу. Можно как-то это отключить?


Название: Re: Как повернуть текст на QGLWidget?
Отправлено: Swa от Сентябрь 15, 2017, 12:17
Нашел такой пост (http://www.qtcentre.org/threads/3738-QGLWidget-renderText-rotation?p=48623#post48623).
Также в документации к этому методу указано:
Цитировать
Note: This function can only be used inside a QPainter::beginNativePainting()/QPainter::endNativePainting() block if a painter is active on the QGLWidget.


Название: Re: Как повернуть текст на QGLWidget?
Отправлено: __Heaven__ от Сентябрь 15, 2017, 13:06
Нашел такой пост (http://www.qtcentre.org/threads/3738-QGLWidget-renderText-rotation?p=48623#post48623).
Добавлю, что QPainter больше предпочитает, когда ему прилетает не сильно мордифицированный контекст. У меня вывод через QPainter получился после отвязки шейдерной программы и буфера вершин.


Название: Re: Как повернуть текст на QGLWidget?
Отправлено: qtkoder777 от Сентябрь 15, 2017, 15:03
QPainter кажется только в paintEvent работает?


Название: Re: Как повернуть текст на QGLWidget?
Отправлено: gil9red от Сентябрь 15, 2017, 15:24
QPainter кажется только в paintEvent работает?

Нифига, хоть в main.cpp отрисуйте на QPixmap/QImage что хотите