Seite 1 von 1

QLabel vertikal?

Verfasst: 18. November 2005 11:22
von Flachkoepper
Hallo,

gibt es eine einfache Methode, wie ich z.B. ein QLabel oder auch jedes andere QWidget um 90 Grad drehe, damit der Text vertikal erscheint?

Viele Grüße,
Flachkoepper

Re: QLabel vertikal?

Verfasst: 18. November 2005 11:54
von Goos
Flachkoepper hat geschrieben: gibt es eine einfache Methode, ...
Das kommt darauf an, was fuer dich einfach ist :)
Definier das also bitte mal naeher.

Goos

Verfasst: 18. November 2005 12:01
von Flachkoepper
Naja, ich hatte halt gehofft, dass es sowas gibt wie widget->rotate(90).

Verfasst: 18. November 2005 13:57
von Goos
Nein, sowas gibts meines Wissens nach nicht.

Goos

Verfasst: 21. November 2005 08:30
von stippy
hmmm, war der Meinung so was mit Qt3 schon mal gemacht zu haben....mitm Designer...hab aber eben auf die Schnelle nix finden können.

Evtl. täusche ich mich aber auch.

Verfasst: 21. November 2005 16:26
von Flachkoepper
Mahlzeit,

vertikalen Text auf nem QLabel habe ich jetzt so hingekriegt:

Code: Alles auswählen

void VLabel::paintEvent(QPaintEvent* event)
{
	QPainter painter(  this );
	painter.setPen( Qt::black );
	painter.setFont( QFont(fontInfo().family(), 12, QFont::Bold) );
	
	QFontMetrics fm( font() );
	int w = fm.width( text() );
	int h = fm.height();
	
	QPoint midPoint(width()/2, height()/2);
	painter.translate( midPoint );
	painter.translate( h/2, w/2 );
	painter.rotate( -90.0 );
	painter.drawText( 0, 0, text() );
}
Einziges Problem ist jetzt nur noch, dass das Label immer noch genau so breit ist, als wenn der Text weiterhin horizontal erscheint. Nur leider habe ich jetzt keine Ahnung, wie ich das beheben kann. Kann mir da irgendwer auf die Sprünge helfen?

Viele Grüße,
Flachkoepper