У меня проблема с Qt / C ++ с простой QWidget
программой, которая рисует эллипс внутри дочернего элемента QWidget
.
Программа состоит из:
(1) родитель QWidget
(2) Ребенок QWidget
(используется как поверхность для рисования эллипса)
(3) Ничья QPushButton
Вот часть кода (для простоты код слота и сигнала QPushButton опущен)
void Draw::paintEvent(QPaintEvent *event) {
QPainter painter;
painter.begin(child_Widget); //The line with the problem
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
painter.drawEllipse(50, 50, 100, 100);
painter.end();}
Строка 2 painter.begin(child_Widget);
ничего не делает. Программа рисует эллипс только в том случае, если я заменяю строку 2 на painter.begin(this);
, но при этом рисуется родительский элемент QWidget
, а не дочерний QWidget
, как требуется.
P.S. У меня есть child_Widget, размещенный внутри GroupBox, который, в свою очередь, находится внутри QVBoxLayout
.
Есть предложения?
Спасибо.