Seite 1 von 1
Statusbar unterteilen
Verfasst: 23. Oktober 2009 13:48
von Neuling_
Hallo,
kann mirjemand kurz sagen wie ich eine QStatusBar in
x Teile unterteilen kann?
Hab versucht mir eine neue Klasse zu erstellen, welche von QStatusBar abgeleitet ist und ich später beim aufruf des Main-Konstruktors:
this->SetStatusBar(AbgelKlasse);
aufrufe.
Funktioniert leider noch nicht ganz.
Ist der Lösungs ansatz falsch?
Gibt es andere leichtere (dadurch Fehler unanfälligere) Möglichkeiten?
Gruß
PS:
Quellcodeausschnitt der abgeleiteten Klasse:
Code: Alles auswählen
QHBoxLabel statusBarLayout;
statusBarLayout.addWidget (&QLabel1, 50, Qt::AlignLeft);
statusBarLayout.addWidget (&QLabel2, 50, Qt::AlignCenter);
statusBarLayout.addWidget (&QLabel3, 50, Qt::AlignRight);
Verfasst: 26. Oktober 2009 13:12
von russkij
Beispiel mit geteiler Statusbar:
QProgressBar progbar;
bar.setMinimum(0);
bar.setMaximum(0);
bar.setTextVisible(false);
QLabel *statusLabel = new QLabel("bla bla bla");
statusBar()->insertWidget(0, statusLabel);
statusBar()->insertWidget(1, &bar, 1);
grüße
Verfasst: 26. Oktober 2009 14:50
von AuE
sind widgets ohne parent ncht aut. fenster??
Verfasst: 26. Oktober 2009 15:27
von pfid
Nein, insertWidget setzt den Parent.
Allerdings ist die Progressbar nach *wo immer der code auch steht* wieder weg

Verfasst: 26. Oktober 2009 16:33
von AuE
jupp, wer lesen kann ist klar im Vorteil

Verfasst: 26. Oktober 2009 16:52
von russkij
hehe ja, in diesem Beispiel ist die progressbar weg. Ist an der Stelle auch gewollt, wenn die Funktion endet, wurde schon alles was langsam ist abgearbeitet.
Verfasst: 26. Oktober 2009 17:01
von AuE
dann sieht sie aber auch keiner

Verfasst: 27. Oktober 2009 08:38
von russkij
AuE hat geschrieben:dann sieht sie aber auch keiner

doch doch, habe ein diagnose tool, rattert etwa 10-20 secunden, je nach umgebung. Als aller erstes wird die GUI mit show() dargestellt.
also in etwa der Ablauf:
gui->show();
gui->startDiagnose()
{
erstelle progressbar und lege diese in die statuszeile;
starte auswertung;
ratter ratter ratter ; //ca 10-20 secunden lauf, hier ist die progressbar immer sichtbar
funktionsende, progressbar nicht mehr sichtbar -> hat sein zweck erfüllt
}
gui->exec();
hat zwar nicht direkt was mit der Fragestellung zu tun aber mal so, vollständigkeitshalber
grüße
Verfasst: 27. Oktober 2009 09:28
von AuE
ok.
und jetzt sag du mal was nicht funktioniert

das hab ich leider net finden können

Verfasst: 27. Oktober 2009 10:49
von russkij
äähm, bei mir läuft alles wie gewünscht

Verfasst: 27. Oktober 2009 14:40
von AuE
rofl
sch*** dachte du warst das mit dem prob
lol
Verfasst: 27. Oktober 2009 15:02
von russkij
hehe habs mir schon gedacht
nur war ich mir nicht sicher, meistens bin ich derjenige, der irgend was durch einander bringt

Verfasst: 29. Oktober 2009 07:02
von AuE
The MainWindow constructor calls createStatusBar() to set up the status bar:
void MainWindow::createStatusBar()
{
locationLabel = new QLabel(" W999 ");
locationLabel->setAlignment(Qt::AlignHCenter);
locationLabel->setMinimumSize(locationLabel->sizeHint());
formulaLabel = new QLabel;
formulaLabel->setIndent(3);
statusBar()->addWidget(locationLabel);
statusBar()->addWidget(formulaLabel, 1);
connect(spreadsheet, SIGNAL(currentCellChanged(int, int, int, int)),
this, SLOT(updateStatusBar()));
connect(spreadsheet, SIGNAL(modified()),
this, SLOT(spreadsheetModified()));
updateStatusBar();
}