Russian Qt Forum

Qt => QSS => Тема начата: Alex Custov от Февраль 19, 2008, 13:22



Название: [Qt 4.3.3] CSS, фон для QWidget
Отправлено: Alex Custov от Февраль 19, 2008, 13:22
Добрый день.

Нужно сделать фон в виде картинки на QWidget. В CSS файле прописано

Код:
QWidget
{
    background-image: url(:/images/bk.png);
}

Если в main.cpp я делаю так:

Код:

// ... загрузка CSS ...

app.setStyleSheet(css);

QWidget *w = new QWidget;

Ui::Form form;

form.setupUi(w);

то всё работает. Но если я делаю отдельную форму, унаследованную от QWidget и от Ui::Form, то не работает:

Код:
MyWidget::MyWidget() : QWidget()
{
     setupUi(this);
     setObjectName("MyWidget");
}

Ui::Form::setupUi() не создаёт никаких дополнительных виджетов, просто пустая форма.

Причём background-color работает, а -image - нет. Аналогичную проблему я решил для QPushButton - там тоже фоновый цвет работал, а -image нет. Нужно было установить "border: none;". Но у QWidget вроде border нету...

Вариант с унаследованным MyWidget не работает ни в одном следующих случаев, если также установить в CSS

Код:
MyWidget
{ background-image: url(:/images/bk.png); }

Код:
MyWidget#MyWidget
{ background-image: url(:/images/bk.png); }

Код:
#MyWidget
{ background-image: url(:/images/bk.png); }

Как это поправить ?

Спасибо.


Название: Re: [Qt 4.3.3] CSS, фон для QWidget
Отправлено: Dodge от Февраль 19, 2008, 15:45
есть подозрение, что в декларации MyWidget отсутствует макрос Q_OBJECT.


Название: Re: [Qt 4.3.3] CSS, фон для QWidget
Отправлено: Alex Custov от Февраль 19, 2008, 16:02
Q_OBJECT имеется


Название: Re: [Qt 4.3.3] CSS, фон для QWidget
Отправлено: night от Февраль 21, 2008, 14:22
мож стиль надо для QFrame прописать?

не поможет?
http://doc.trolltech.com/4.3/stylesheet-customizing.html#the-box-model