Seite 1 von 1

Hintergrund eine QTabWidgets

Verfasst: 5. Juli 2008 22:37
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

Verfasst: 15. Juli 2008 00:12
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ß