Hintergrund eine QTabWidgets

Alles rund um die Programmierung mit Qt
Antworten
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Hintergrund eine QTabWidgets

Beitrag von Thorsten »

Hallo zusammen,

ich habe ein kleines Problem. Ich habe ein QTabWidget und möchte, wenn alle Tabs geschlossen worden sind. Ein Hintergrundbild anzeigen, so dass der Anwender eindeutig sieht, dass das Widget leer ist.

Wie geht das. Wenn ich

Code: Alles auswählen

setStyleSheet("background-image: url(:/images/background.png);");
mache, werden auch die Tabs, die erst später "geöffnet" werden gefärbt. Wenn ich dann vor dem öffnen mit

Code: Alles auswählen

setStyleSheet("background-image: url();");
das Bild wieder wegnehme, bleibt der Hintergrund nach dem Schließen des letzten Wigets wieder grau, auch wenn ich davor wieder das StyleSheet ändere.

Geht das alles nicht auch viel eleganter.

Kann man das Hintergrundbild "hinter" den Tabs irgentwie einstellen.

Gruß
Thorsten
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Beitrag von Thorsten »

Ich habe jetzt einfach das Widget von QStackedWidget abgeleitet und ein QWidget und ein QTabWidget übereinander gelegt. Wenn das TabWidget jetzt sein letztes Tab schließt, dann wechsel ich einfach zum QWidget auf dem Stacked. Es funktioniert, ist aber nicht schön.

Code: Alles auswählen

	BaseWidget(QWidget* parent = 0)
		:	QStackedWidget(parent)
	{
		QWidget* pBackgroundWidget = new QWidget(this);
		pBackgroundWidget->setStyleSheet(no_tr("background-image: url(:/images/background.png);"));
		
		p_pTabWidget = new QTabWidget(this);
		
[...]
		addWidget(pBackgroundWidget);
		addWidget(p_pTabWidget);
		
		setCurrentIndex(0);
	}
	
Gruß
Antworten