Seite 1 von 1

Descriptiontext eines CommandLinkButtons

Verfasst: Donnerstag 26. August 2010, 15:14
von Shaldy
Hey zusammen.

Ich möchte im Designer einen CommandLinkButton mit Textgröße 12 in blau und als Descriptiontext Größe 8 und schwarz. Wie kann ich das ändern? Bei mir hat der Buttontext und die Description immer gleiche Größe und Farbe.

Danke.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Dienstag 5. Oktober 2010, 14:19
von Shaldy
push

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Dienstag 5. Oktober 2010, 15:34
von Hyperion
Qt nutzt für das meiste dieser Dinge Stylesheets ähnlich der CSS, die man vom Web her kennt. Guck mal im Property-Editor unter dem QWidget-Teil nach. Dort gibts das Attribut "styleSheet". Klickst Du da rein, kannst Du Styles für dieses Widget anlegen. Welche es gibt für das jeweilige Widget kannst Du in der Doku zu Qt nachgucken. Da gibts über "Styling" ein extra Kapitel inkl. Referenz.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Mittwoch 6. Oktober 2010, 15:11
von Shaldy
Hab schon gesucht, der CommandLinkButton erwartet für die Property "description" einfach nur einen QString. Wir kann ich dafür jetzt Farbe und Größe ändern, OHNE den eigentlichen Buttontext zu verändern.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Mittwoch 6. Oktober 2010, 15:17
von lunar
@shaldy: Mit dem Text hat das gar nichts zu tun. Für das Aussehen des Knopfs sich ganz andere Eigenschaften da, unter anderem eben das von Hyperion erwähnte Stylesheet. Also lies doch bitte die Dokumentation von Qt zu diesem Thema durch.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Sonntag 10. Oktober 2010, 12:18
von Shaldy
Hab mir die Dokumentation durchgelesen und nichts gefunden, dass auf den Descriptiontext eines CommandLinkButtons hinweisen könnte.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Sonntag 10. Oktober 2010, 12:58
von lunar
@Shaldy: Ach so, ich hatte Dein Problem nicht vollständig verstanden, verzeih mir bitte. Es scheint in der Tat so zu sein, dass Qt es nicht ermöglicht, Text und Beschreibung eines QCommandLinkButton getrennt zu "stylen". Die Eigenschaft "color" ändert beide Schriften zugleich. Ich schätze, dass sich dies durch die Einschränkungen der Windows-API begründet, die unterschiedliche Farben offenbar nicht unterstützt.

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Mittwoch 13. Oktober 2010, 00:43
von Shaldy
Okay, danke schonmal für die Antwort.
Gibt es irgendeine Möglichkeit, dieses Problem zu umgehen?

Bin dankbar für alle Vorschläge!

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Mittwoch 13. Oktober 2010, 13:36
von ichisich
Du erstelltst ein Bild mit dem Text und legst es auf den Button und machst den "normalen" text duchsichtig falls Du irgendwie mit

Code: Alles auswählen

comandLinkButton.description ()
# oder
comandLinkButton.text()

an den jeweiligen String willst. (Auch wegen Barrierefreiheit etc.)

Kann man natürlich auch Dynamisch machen in dem man von der Klasse ableitet und die Klasse um Methoden erweitert die das übernehemen.

Ist nur so ein gedanke ...

Gruß

Re: Descriptiontext eines CommandLinkButtons

Verfasst: Mittwoch 13. Oktober 2010, 13:48
von lunar
@shaldy: Eine direkte Möglichkeit, dieses „Problem“ zu umgehen, gibt es nicht. Es mag allenfalls mehr oder weniger hässliche Tricks geben, wie eben die von ichisich erwähnte Idee, ein Bild über den Knopf zu legen. Ich halte von dieser Idee nicht allzu viel, da eine Implementierung, bei der der Benutzer keine Schönheitsfehler sieht, sehr schwierig ist, und letztlich darauf hinausläuft, dass Bild dynamisch zu zeichnen (da man sonst nicht skalieren kann ohne die Schrift zu verzerren).

Das ist es schon sinnvoller, von QCommandLinkButton abzuleiten, ".paintEvent()" zu überschreiben, und das Steuerelement gleich zumindest teilweise selbst zu zeichnen. Da man aber keinen Zugriff auf die Zeichenlogik der Oberklasse hat, und zudem noch den Oberflächenstil berücksichtigen muss, ist auch das keinesfalls einfach.

Es mag andere Möglichkeiten geben, doch im Allgemeinen würde ich Dir raten, die Idee zu vergessen. Es ist sowieso allgemein keine gute Idee, Farben und insbesondere Schriftgrößen fest vorzugeben, da das zu Konflikten mit den Benutzereinstellungen und den Vorgaben des Betriebssystems führen kann. Gerade die Schriftgröße muss der Nutzer selbst bestimmen können, um sie den jeweiligen Zielgerät anzupassen. Ein 24''-Monitor verlangt nun mal nach ganz anderen Maßen als ein 10''-Netbook oder gar ein 3''-Mobiltelefon.