Styles für QLabels
Verfasst: 15. Dezember 2006 19:13
Hallo Leute,
Ich habe in einem GridLayout QLabels positioniert.
mit einem MouseEvent (enter, leave), passiert irgendwas wenn ich mit der maus drüberfahre.
nun will ich auch ein visuelles feedback haben einerseits, will aber auch dass die dinger schick aussehen.
damit diese labels farbe bekommen nutze ich den paintEvent.
void myLabel::paintEvent(QPaintEvent *event)
{
QPainter p(this);
p.setPen(QColor(1, 89, 9));
p.fillRect(rect(), QColor(235, 226, 99));
p.drawRect(rect());
p.drawText(rect(), Qt::AlignCenter, this->character);
}
ich fülle also das label mit farbe und schreibe noch was rein.
habe ich eine möglichkeit das label irgendwie aufblinken zu lassen? über den MouseEvent Enter? ich viel aber vermeiden GraphicItems zu nehmen, die hatte ich zu begin.
ich habe auch folgendes versucht ins painEvent
p.setBrush(Qt::radialGradientPattern);
aber das funzt auch nicht.
auch wenn ich in den konstruktor z.B.
->setFrameStyle(QFrame::Panel | QFrame::Raised);
greift das auch nicht
also wie gesagt, ich habe zwei probleme:
1. über mouseEvent Enter, das label aufblinken zu lassen
2. den labels einen style verpassen, damit sie plastischer aussehen.
hat jemand eine idee?
thanks
Ich habe in einem GridLayout QLabels positioniert.
mit einem MouseEvent (enter, leave), passiert irgendwas wenn ich mit der maus drüberfahre.
nun will ich auch ein visuelles feedback haben einerseits, will aber auch dass die dinger schick aussehen.
damit diese labels farbe bekommen nutze ich den paintEvent.
void myLabel::paintEvent(QPaintEvent *event)
{
QPainter p(this);
p.setPen(QColor(1, 89, 9));
p.fillRect(rect(), QColor(235, 226, 99));
p.drawRect(rect());
p.drawText(rect(), Qt::AlignCenter, this->character);
}
ich fülle also das label mit farbe und schreibe noch was rein.
habe ich eine möglichkeit das label irgendwie aufblinken zu lassen? über den MouseEvent Enter? ich viel aber vermeiden GraphicItems zu nehmen, die hatte ich zu begin.
ich habe auch folgendes versucht ins painEvent
p.setBrush(Qt::radialGradientPattern);
aber das funzt auch nicht.
auch wenn ich in den konstruktor z.B.
->setFrameStyle(QFrame::Panel | QFrame::Raised);
greift das auch nicht
also wie gesagt, ich habe zwei probleme:
1. über mouseEvent Enter, das label aufblinken zu lassen
2. den labels einen style verpassen, damit sie plastischer aussehen.
hat jemand eine idee?
thanks