Возможно ли рисовать на виджете при помощи QPainter вне функции paintEvent ()? В документации написано, что из всех стандартных бэкэндов, QWidget единственный, на котором можно рисовать только внутри paintEvent().
Но так же там сказано, что можно создать собственный бэкэнд, унаследовавшись от QPaintDevice и переопределив paintEngine().Непонятно как реализовывать paintEngine().
class Test :public QPaintDevice, public QWidget {
public:
//Метод от QPaintDevice, который требуется переопределить:
QPaintEngine* paintEngine() const {
//Что должно быть здесь?
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Test test;
QPainter painter(&test);
painter.drawLine(100, 100, 200, 200);
test.show();
return a.exec();
}
В результате выполнения этого кода, нужно что-бы на виджете test рисовалась линия из (100,100) в (200,200)
Продвижение своими сайтами как стратегия роста и независимости