Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

weiss hier irgendjemand, wie ich fuer verschiedende Items in einer Qtable unter Qt

eigene Schriftarten zuweisen kann?

qtable->setfont(qfont) bezieht sich ja nur auf die ganze Tabelle, nicht nur auf ein Icon.

Mein Ziel ist es, je nach Inhalt einzelner Items den Text entweder anders zu faerben oder durchzustreichen.

Ich hab auch schon versucht, Qlabels, QLineedits und QMultilieedits einzufuegen, denn diese Widgets stellen setfont() zur verfuegung, aber dann hab ich probleme mit der Groessenanpassung der Zeile und des dargestellten inhalts.

Also entweder muss ich den Font fuer das Item selbst setzen, oder die Groessenanpassung der Zeilen schaffen. Die widgets duerfen nicht breiter werden, und nur so hoch, wie es der inhalt benoetigt. Ausserdem ist auf diesem Weg keine Selection in der Zeile mehr moeglich.

Bitte helft mir.

Geschrieben

sieh dir mal in der QT-Doku die virtuelle Funktion "paintCell(...)" genauer an. Dann sollte sich dein Problem eigentlich erledigt haben ;) .

Oder du leitest dir eine eigene Klasse von QTableItem ab.

Damit habe ich es zumindest schonmal hinbekommen Items zu färben.

Geschrieben

Danke, hab das ganze schon probiert. Hab da aber ein kleines Problem:

Paintcell laesst sich irgendwie nicht auf ein Item beziehen. Er kennt in diesem Fall das Item nicht als Widget oder PaintDevice. Das heisst, ich kann den Inhalt zwar schon rauslesen, kann aber nichts in das Item einfuegen. Er setzt das gabze nur in Bezug zum Table und malt mir alles in die obere linke Ecke davon. Danach verdeckt er es wieder mit den Cells oder Items.

Selbst setViewPort hilft hier auch nicht viel. Er zeichnet es dann dort hin, wo er soll, verdeckt es aber wieder mit den Items, da diese "eine Schicht hoeher" liegen.

Qtable->item()->paint bewirkt das gleiche.

Eine andere Moeglichkeit, die ich in der Online-Doku gefunden habe, ist diese:

QPixmap mypix(breite,hoehe); // breite hoehe von Item!

QPainter mypainter;

mypainter.begin(mypix,tableitem());

Dadurch ist der Inhalt des Items in mypix gespeichert. Wenn man jetzt die Hintergrundfarbe mit der neuen austauscht und das Pixmap als Hintergrund fuer das Item nimmt, hat man den selben Effekt. Einziger Nachteil: Die Table ist dann ReadOnly.

Ich werds mal mit einer KlassenAbleitung probieren. Danke,

Ciao.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...