Seite 1 von 1

Neuzeichen des Headers eines QTreViews

Verfasst: 1. Dezember 2009 15:57
von spacer2004
Ich möchte in meiner Anwendung die Sprache der Oberfläche dynamisch wechseln. Das funktioniert auch bisher sehr gut. Ich habe nur ein Problem mit dem QTreeView in der Anwendung. Der Header dieses TreeViews soll vom Programm nach dem Sprachwechsel neu gezeichnet werden. In dem zugehörigen Model ist der entsprechende Text in der Methode headerData mit tr() eingeschlossen. Mit dem Linguist habe ich diesen Text übersetzt. Leider finde ich keine Funktion, mit der ich das TreeView veranlassen kann den Header neu zu zeichnen und dabei den übersetzten Text anzuzeigen. Hat jemand eine Idee?

Verfasst: 1. Dezember 2009 16:20
von upsala
void QAbstractItemModel::headerDataChanged ( Qt::Orientation orientation, int first, int last )

Verfasst: 2. Dezember 2009 08:34
von spacer2004
Danke für den Tip, er funktioniert aber leider nicht. Ich habe als Lösung eine Klasse von QTreeView abgeleitet, in der ich eine Methode habe, die folgendes ausführt:

Code: Alles auswählen

header()->update(header()->rect());
Diese Methode kann ich nach dem Wechsel der Sprache aufrufen und dann wird der Header mit dem angepassten Text neu gezeichnet.