Я пытаюсь использовать метод , описанный здесь , чтобы использовать вызовы QPainter и GDI для одного и того же виджета.
К сожалению, это руководство, похоже, было написано для более ранней версии Qt, и теперь оно не работает.
Я установил флаг WA_PaintOnScreen
и переопределил paintEngine()
для возврата NULL.
Затем на paintEvent()
я создаю QPainter, использую его, а затем использую некоторые вызовы GDI для рисования растрового изображения. Вызовы GDI работают нормально, но QPainter ничего не делает. Я получаю следующую ошибку на консоли:
QPainter::begin: Paint device returned engine == 0, type: 1
Это просто больше не поддерживается? как я могу это сделать?
Я также пытался создать дополнительный виджет поверх виджета GDI-рисования, но это не очень хорошо, поскольку верхний виджет выглядит черным и блокирует виджет GDI.