Seite 1 von 1

Größe von ListWidget stets an Inhalt anpassen

Verfasst: 29. Juni 2008 17:02
von Cartman
Hallo, ich möchte, daß mein ListWidget sich immer genau an den Inhalt anpaßt. Z. B. soll es bei 2 Items gerade so groß sein, daß die beiden reinpassen. Wird ein weiteres Items eingefügt, so muß es um die Größe des Items wachsen. Trotzdem soll es eine Max-Größe geben. Wie bekomme ich das hin? Das ListWidget wird als Popup/ToolTip angezeigt und befindet sich daher nicht einem üblichen Layout auf einem übergeordnetem Widget. Hab schon alles ausprobiert...

Verfasst: 29. Juni 2008 20:07
von upsala
So wie es die ListBox macht, die an einer QComboBox dranhängt?
Schau dir mal den Code in den Qt-Sourcen an. Speziell die Funktion showPopup(). Die macht nämlich genau das, was du suchst...

Quelltext QComboBox

Verfasst: 30. Juni 2008 09:29
von Cartman
Ja, super. Man vergißt so leicht, daß hier alles Open-source ist 8)

Das mit der Höhe des ListWidget kriege ich nun dank Beispiel hin. Ich muß mir den Combo-Quelltext mal ganz genau ansehen. Die Trolltecher scheinen nicht ganz wie ich vorzugehen:

Ich hänge derzeit mein ListView an das MainWindow, so daß es absolut unter meinem LineEdit positioniert werden kann. Nachteil: Wenn die Liste zu lang ist, dann geht die Liste nicht über den Window-Rand hinaus -- es wird hart abgeschnitten. Bei QComboBox ist das anders. Allerdings hatte ich bei der Methode 2 -- nämlich dem Öffnen eines Window als Popup/ToolTip -- so einen Kampf um den Active-Zustand zwischen Main- und Popup/TooTip-Window.

Ich werde das auf jeden Fall über kurz oder lang auf die Qt-Art umstellen.