Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: torwig от Август 25, 2015, 19:32



Название: QPainter, drawText() в Qt5.5.0
Отправлено: torwig от Август 25, 2015, 19:32
Добрый день
Если коротко: следущий код на Qt5.5.0 MinGW 32 (Windows 7)
Код:
   QBitmap bitmap(800, 400);
   QPainter painter(&bitmap);
   painter.setRenderHint(QPainter::TextAntialiasing, true);
   painter.setRenderHint(QPainter::Antialiasing, true);
   painter.setPen(Qt::white);
   for (int i = 0; i < 800; ++i) {
       for (int j = 0; j < 400; ++j) {
           painter.drawPoint(QPoint(i, j));
       }
   }
   painter.setPen(QPen(Qt::black));
   QFont font("Arial", 46);
   font.setBold(true);
   font.setItalic(true);
   painter.setFont(font);
   painter.drawText(QRect(100, 100, 400, 200),
                    Qt::AlignRight | Qt::AlignBottom, "The Text 34 Arial");
   bitmap.save("D:\\test.bmp", "BMP");
Выдает то, что на прикрепленной картинке.
Если выставить размер 48 и более, текст рисуется нормально.
Что можно сделать с этим и у всех ли подобное поведение наблюдается, ибо нужно отрисовать 34ым шрифтом?
п.с. На Qt4.8.6 работало нормально, на Qt5.2.1 тоже и по-моему на Qt5.4.0 рисовало как надо.


Название: Re: QPainter, drawText() в Qt5.5.0
Отправлено: Racheengel от Сентябрь 02, 2015, 09:20
Остаться на 5.4


Название: Re: QPainter, drawText() в Qt5.5.0
Отправлено: torwig от Сентябрь 02, 2015, 14:06
Остаться на 5.4
Именно к такому решению и пришел  :)