Russian Qt Forum
Ноябрь 22, 2024, 13:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPainter, drawText() в Qt5.5.0  (Прочитано 5717 раз)
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« : Август 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 рисовало как надо.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Сентябрь 02, 2015, 09:20 »

Остаться на 5.4
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #2 : Сентябрь 02, 2015, 14:06 »

Остаться на 5.4
Именно к такому решению и пришел  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.