уже не один час сижу, для наглядности сразу код (уже правил несколько раз, поэтому тут явно лишние выделения и прочее)
void Graphics::setField(const QString &pathImageField, QWidget *widget)
{
QPixmap field(pathImageField);
QPalette palette;
palette.setBrush(widget->backgroundRole(), QBrush(field));
widget->setPalette(palette);
widget->setFixedWidth(field.width());
widget->setFixedHeight(field.height());
// widget->setAutoFillBackground(true);
}
класс, имеет на ui 2 виджета. нужно опр им фон и потом на этом фоне рисовать.
тоесть выше идет вызов
void Graphics::setField(const QString &pathImageField)
{
setField(pathImageField, ui->chipWidget);
setField(pathImageField, ui->attackWidget);
}
и потом все это показываться должно. НО если
// widget->setAutoFillBackground(true);
закоментировать, то ничего не происходит, виджетов вообще будто нет. Если не комментировать - работает.
как быть?((
если причем сделать
QPixmap field(pathImageField);
QPalette palette;
palette.setBrush(backgroundRole(), QBrush(field));
setPalette(palette);
а мой класс наследуется от QWidget, то изображение станет фоном по всему родительскому виджету...
почему // widget->setAutoFillBackground(true); так действует для ui форм и как исправить?((
p.s. извиняюсь за такое написание, пол 4го утра уже.
Qt 4.8