In QTabWidget QPlainEdit als CentralWidget

Alles rund um die Programmierung mit Qt
Antworten
Nightblizard
Beiträge: 39
Registriert: 7. Oktober 2009 20:32

In QTabWidget QPlainEdit als CentralWidget

Beitrag von Nightblizard »

Grüße,
ich versuche zur Zeit in einem QTabWidget ein QPlainEdit als CentralWidget zu setzen, damit das Editfeld ständig die größe des Fensters annimmt, jedoch hat QTabWidget keine solche Funktion. Gibt es da zufällig eine passende Alternative? Die Hilfe hat mir leider nicht geholfen :(


Danke,
Night
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wie soll denn ein zentrales Widget in einem QTabWidget aussehen?
Nightblizard
Beiträge: 39
Registriert: 7. Oktober 2009 20:32

Beitrag von Nightblizard »

Nunja, wie ein CentralWidget im QMainWindow. Einfach auf den ganzen Inhalt gestreckt. Es muss ja nicht unbedingt ein CentralWidget sein, das war nur ein Beispiel. :)

Das Textfeld soll halt durchgehend so groß wie das Fenster sein.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Jedes Wiget, das in ein QTabWidget gesteckt wird ist so groß wie das QTabWidget abzüglich der Reiter und eines kleinen Randes. Ich verstehe somit dein Problem nicht.
Nightblizard
Beiträge: 39
Registriert: 7. Oktober 2009 20:32

Beitrag von Nightblizard »

Aaah! Ich sollte mir das zusammenklicken des Fensters abgewöhnen... Jo, mit addTab funktioniert es, danke!

Jetzt jedoch noch eine andere Frage.
Ist es möglich Tabs über "Rechtsklick->Schließen" zu schließen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ja, ist es.

QTabWidget überladen.
EventFilter auf QTabBar setzen und mouseEvent abfangen.
Menü mit entsprechenden Actions erstellen
Nightblizard
Beiträge: 39
Registriert: 7. Oktober 2009 20:32

Beitrag von Nightblizard »

Okay, doch wie lege ich nun den eventFilter auf die tabBar? Auf das tabWidget an sich ist es kein Problem, jedoch fällt mir gerade kein Weg für die Bar ein.

Wenn ich nun schaue ob object == tabBar(), dann sagt mir der Qt Compilter "comparison between distinct pointer types 'QObject*' and 'QTabBar*' lacks a cast". Damit kann ich für meinen Teil jedoch nichts Anfangen, also caste ich das ganze mal auf verschiedene Typen um. QWidget* und QObject* lassen sich zwar compilen, aber wenn ich dann auf einen der Tabs klicke passiert nichts.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das hier wäre auch noch eine Möglichkeit:
http://doc.trolltech.com/4.6/qtabwidget ... sable-prop
Nightblizard
Beiträge: 39
Registriert: 7. Oktober 2009 20:32

Beitrag von Nightblizard »

Das ist natürlich noch angenehmer! Danke dir :)
Antworten