Russian Qt Forum

Qt => QSS => Тема начата: stima от Декабрь 02, 2011, 20:02



Название: main widget background
Отправлено: stima от Декабрь 02, 2011, 20:02
Есть class MainForm : public QWidget {}

c
Код:
void MainForm::paintEvent(QPaintEvent *event)
{
    QWidget::paintEvent(event);
    QStyleOption option;
    QPainter painter(this);

    option.init(this);

    style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this);
}

ему ставится
Код:
setStyleSheet("QWidget#MainForm { border-image: url(:/images/background.png)}");

Ну вопервых:
libpng warning: Interlace handling should be turned on when using png_read_image -- этот варнинг как я понял баг Qt, но он не виляет

Во вторых:
все нормально ставится и отображается, !!но у виджета покраям есть свободное белое место, если ставить QWidget#MainForm { background: red; } то таких приколов нет.


Название: Re: main widget background
Отправлено: kambala от Декабрь 02, 2011, 20:43
надо картинке каким-то образом выставить aspect fill, чтоб заполняла все доступное место, жертвуя пропорциями