Seite 1 von 1

[gelöst] Focus auf TabWidget

Verfasst: 29. August 2008 09:23
von SaLu
Guten Morgen

habe ein kleines Problem und zwar hab ich folgendes Problem. Ich habe eine oberfläche voller tabs. 1 tab soll das haupttab sein das meistens angezeigt wird. Sobald das programm aufgerufen wird bekommt dieser Tab->setFocus. Dies funktioniert soweit. Jedoch will ich auch das bei bestimmten signalen dies auch gemacht wird. Zum einen soll er setfocus bekommen sobald ein timer abgelaufen ist und das andere Mal wenn ein Button gedrückt wurde.(das mit Button hat noch einen anderen Zweck)
So hier mein Quelltext

Code: Alles auswählen

	QTimer *qtime=new QTimer(this);
	qtime->start(5000);
QObject::connect(qtime, SIGNAL(timeout()),ui.tabWidget_2, SLOT(show()));

QObject::connect(ui.pushButton_2, SIGNAL(clicked()),this, SLOT(okaybutton()));
...
void tabs::okaybutton()
{
  ui.tabWidget_2->setFocus();
  ui.tabWidget_2->setWindowFlags(Qt::WindowStaysOnTopHint);
  ui.tabWidget_2->setWindowState(this->windowState() | Qt::WindowActive);
  ui.tabWidget_2->show();
  QApplication::setActiveWindow(ui.tabWidget_2);
  ui.tabWidget_2->activateWindow();
  ui.tabWidget_2->setWindowState(Qt::WindowActive);
  ui.tabWidget_2->raise();
}
die frage ist ob es ein repaint() oder etwas in der Art braucht das er es macht den so funktioniert es leider noch nicht :(
Wie gesagt denke es dreht sich nur um einen Befehl :( Bisher noch nichts passendes gefunden. Die Aufrufe in der Methode habe ich alle schon versucht und das auch schon im dem connect :(
Vielen Dank schonmal!

Verfasst: 29. August 2008 12:15
von upsala
setFocus()? Du meinst QTabWidget::setCurrentIndex(...) oder?

Verfasst: 29. August 2008 13:21
von SaLu
ah perfekt und ich probier wieder alles aus und zerbrich mir den Kopf dabei ist es einfach ein ganz anderer Befehl :(