Seite 1 von 1

QWidget Styling?

Verfasst: 23. August 2010 22:08
von gast23
Hi,

ich habe ein Klasse von QWidget abgeleitet und ein globales Stylesheet (Über qApp gesetzt)

Wieso kann ich über das Sheet keine background-color definieren?

Sie wird einfach irgnoriert...

DieKlasse {
background-color: red;
...}


Vielen Dank

Verfasst: 24. August 2010 04:56
von Nvidia
QWidget Supports only the background, background-clip and background-origin properties.

If you subclass from QWidget, you need to provide a paintEvent for your custom QWidget as below:

void CustomWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

The above code is a no-operation if there is no stylesheet set.

Warning: Make sure you define the Q_OBJECT macro for your custom widget.
oder wenn dus einfacher haben willst, kannst du auch von QLabel ableiten, da kannst du dann einfach das stylesheet setzen wie du es wolltest.

Verfasst: 24. August 2010 08:53
von gast23
danke.

Ich hab gestern nacht von qframe abgeleitet hat auch noch geholfen...