MainWindow Objekt Werte übergeben (anlegen) & Verzögeru
Verfasst: 20. Mai 2009 13:00
Hallo Leute ich bin auf ein zweites Problem gestoßen und bin mir allerdings verdammt sicher das ihr mir da auch wieder weiterhelfen könnt.
In diesem Thema hatte ich ja gefragt wie ich es schaffe ein LoginFenster anzuzeigen und davon dann in Abhängigkeit das MainWindow anzeigen zu lassen.
http://qtforum.de/forum/viewtopic.php?t=9115
Das ganze hat bisher echt super geklappt. Der Aufbau der "main.cpp" sieht dabei so aus:
#1 Frage:
Nun hab ich vom LoginDialog natürlich ein Passwort und einen Benuzternamen welcher vorher von einer Datenbank geprüft wurde und alle Daten sind ok. Von dem ganzen soll natürlich das MainWindow auch etwas haben, wie könnte man das also lösen?
Die Frage scheint mehr mit C++ selbst in Verbindung zu stehen aber mag einmal mehrere Lösungsmöglichkeiten hören.
Ich könnte bspw. Konstruktor MainWindow(); umbauen als MainWindow(Benutzername,Passwort); wenn ich mich nicht gänzlich irre.
Gibt es vll noch andere Möglichkeiten?
#2 Frage:
Hat wer von euch Erfahrungen gemacht im Bezug auf Verzögerungen? Ich hab im Logindialog eine progressbar welche durchlaufen soll bspw. int-Wert 50. Naja das ganze hab ich nun mit einer 20ms Pause in Kombi mit einer For-Schleife gelöst.
Und dann wie im Programm davon gebrauch gemacht wird:
Diese Lösung finde ich allerdings etwas... ja unschön und war so ziemlich die einzige brauchbare Funktion welche unter Google zu finden war.
Grüße
In diesem Thema hatte ich ja gefragt wie ich es schaffe ein LoginFenster anzuzeigen und davon dann in Abhängigkeit das MainWindow anzeigen zu lassen.
http://qtforum.de/forum/viewtopic.php?t=9115
Das ganze hat bisher echt super geklappt. Der Aufbau der "main.cpp" sieht dabei so aus:
Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication App(argc, argv);
App.setStyle(new QWindowsVistaStyle);
// #### LoginDialog wird erstellt #####
LoginDialog *w_login = new LoginDialog();
if(w_login->exec()) // Bool-Wert durch accept(); oder reject();
{
MainWindow *w = new MainWindow();
return App.exec(); // Eventloop
}
return 0;
}
Nun hab ich vom LoginDialog natürlich ein Passwort und einen Benuzternamen welcher vorher von einer Datenbank geprüft wurde und alle Daten sind ok. Von dem ganzen soll natürlich das MainWindow auch etwas haben, wie könnte man das also lösen?
Die Frage scheint mehr mit C++ selbst in Verbindung zu stehen aber mag einmal mehrere Lösungsmöglichkeiten hören.
Ich könnte bspw. Konstruktor MainWindow(); umbauen als MainWindow(Benutzername,Passwort); wenn ich mich nicht gänzlich irre.
Gibt es vll noch andere Möglichkeiten?
#2 Frage:
Hat wer von euch Erfahrungen gemacht im Bezug auf Verzögerungen? Ich hab im Logindialog eine progressbar welche durchlaufen soll bspw. int-Wert 50. Naja das ganze hab ich nun mit einer 20ms Pause in Kombi mit einer For-Schleife gelöst.
Code: Alles auswählen
...
class SleeperThread : public QThread
{
public:
static void msleep(unsigned long msecs)
{
QThread::msleep(msecs);
}
};...Code: Alles auswählen
for(int i=0;i<=50;i+=5)
{
SleeperThread::msleep(20);
this->progressBar->setValue(i);
}
Grüße