Есть класс Ellipse, наследуемый от QWidget, в его конструкторе я делаю прозрачным фон виджета:Код: QPalette newPalette = palette(); newPalette.setBrush(QPalette::Window, QBrush(Qt::NoBrush)); setPalette(newPalette);Вот его функция paintEvent(...):Код: QPainter painter(this); painter.setPen(privatePen); painter.setBrush(palette().brush(QPalett e::Button)); painter.drawEllipse(privateRect);И еще функцияКод:setRect(QRect newRect){ privateRect = newRect; resize(privateRect.width(), privateRect.height()); update(privateRect.width(), privateRect.height());}privatePen, privateRect - поля виджета, которые я задаю. Если privateRect имеет длину/ширину больше 50, то когда я делаю QPixmap::grabWidget(ellipse) (или grabWidget(ellipse, ellipse->rect())), то получившаяся картинка имеет размеры 50*50, изображает верхний левый квадрат виджета. Кроме того прозрачные "уголки" виджета в картинке, полученной из этой функции превращаются в какой-то полупрозрачный мусор. Помогите сделать правильную картинку, изображающую виджет таким, какой он есть, может я че-то неправильно делаю...
|