QLabel vertikal?

Alles rund um die Programmierung mit Qt
Antworten
Flachkoepper
Beiträge: 149
Registriert: 11. Januar 2005 12:14
Wohnort: Hannover

QLabel vertikal?

Beitrag 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
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Re: QLabel vertikal?

Beitrag 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
Flachkoepper
Beiträge: 149
Registriert: 11. Januar 2005 12:14
Wohnort: Hannover

Beitrag von Flachkoepper »

Naja, ich hatte halt gehofft, dass es sowas gibt wie widget->rotate(90).
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Nein, sowas gibts meines Wissens nach nicht.

Goos
stippy
Beiträge: 80
Registriert: 29. Juli 2005 09:38
Wohnort: Mönchengladbach

Beitrag 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.
Flachkoepper
Beiträge: 149
Registriert: 11. Januar 2005 12:14
Wohnort: Hannover

Beitrag 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
Antworten