Schließe QMessageBox automatisch

8

Ich baue ein Qt Symbian Projekt und ich möchte eine Benachrichtigung für den Benutzer anzeigen, die nach einigen Sekunden automatisch geschlossen werden sollte. Ich habe gesehen, dass Nokia dies oft in ihrem UI benutzt.

Im Moment verwende ich den unten stehenden Code, damit der Benutzer die QMessageBox schließen kann, aber ich würde es gerne sehen, wenn es möglich wäre, die QMessageBox nach 1 oder 2 Sekunden automatisch zu schließen. Wie kann ich dies mit Qt tun?

%Vor%     
Martin 10.02.2010, 12:44
quelle

4 Antworten

4

Ich würde vorschlagen, QMessageBox zu untergliedern, um Ihr eigenes gewünschtes Verhalten hinzuzufügen ...

Es wäre interessant, Methoden wie setAutoClose(bool) und setAutoCloseTimeout(int) hinzuzufügen und QTimer auf showEvent auszulösen, wenn die AutoClose-Option aktiviert ist!

Auf diese Weise könnten Sie sogar die Erscheinung Ihres QMessageBox ändern und hätten den Text "Dieses Feld wird automatisch in XXX Sekunden geschlossen ..." oder einen Fortschrittsbalken usw. ...

erhalten     
Andy M 10.02.2010, 14:08
quelle
5
___ answer40930717 ___

Stattdessen können Sie mit %code% Timer jedes Dialogfeld oder %code% mit Leichtigkeit schließen:

%Vor%     
___ qstnhdr ___ Schließe QMessageBox automatisch ___ tag123qt ___ Qt ist ein plattformübergreifendes Anwendungsentwicklungs-Framework, das häufig für die Entwicklung von Anwendungssoftware verwendet wird, die auf verschiedenen Software- und Hardwareplattformen ohne oder mit nur geringer Änderung der zugrundeliegenden Codebasis ausgeführt werden kann. Qt ist sowohl mit kommerziellen als auch mit Open-Source-Lizenzen verfügbar. ___ qstntxt ___

Ich baue ein Qt Symbian Projekt und ich möchte eine Benachrichtigung für den Benutzer anzeigen, die nach einigen Sekunden automatisch geschlossen werden sollte. Ich habe gesehen, dass Nokia dies oft in ihrem UI benutzt.

Im Moment verwende ich den unten stehenden Code, damit der Benutzer die QMessageBox schließen kann, aber ich würde es gerne sehen, wenn es möglich wäre, die QMessageBox nach 1 oder 2 Sekunden automatisch zu schließen. Wie kann ich dies mit Qt tun?

%Vor%     
___ answer2237328 ___

Ich würde vorschlagen, %code% zu untergliedern, um Ihr eigenes gewünschtes Verhalten hinzuzufügen ...

Es wäre interessant, Methoden wie %code% und %code% hinzuzufügen und %code% auf %code% auszulösen, wenn die AutoClose-Option aktiviert ist!

Auf diese Weise könnten Sie sogar die Erscheinung Ihres %code% ändern und hätten den Text "Dieses Feld wird automatisch in XXX Sekunden geschlossen ..." oder einen Fortschrittsbalken usw. ...

erhalten     
___ answer47111034 ___

Mit diesem Code:

%Vor%

Sie erhalten:

%Vor%

Becouse msgBOX (der Empfänger) muss ein QtCore-Objekt sein .. und QMessageBox-Unterklassen von QtGui. Siehe Ссылка

    
___ tag123qmessagebox ___ QMessageBox ist eine Qt-Klasse, die ein modales Fenster bietet, um den Benutzer zu informieren oder nach einer einfachen Eingabe zu fragen (wie "Ja" / "Nein"). ___ antwort2240792 ___

Vielen Dank! Meine Lösung:

Ich habe meine eigene Klasse (MessageBox) erstellt. Dies ist mein Code zum Anzeigen:

%Vor%

Das ist meine Klasse:

%Vor%     
___
Martin 10.02.2010 22:21
quelle
1

Stattdessen können Sie mit Singleshot Timer jedes Dialogfeld oder QLabel mit Leichtigkeit schließen:

%Vor%     
Tachi 02.12.2016 11:03
quelle
0

Mit diesem Code:

%Vor%

Sie erhalten:

%Vor%

Becouse msgBOX (der Empfänger) muss ein QtCore-Objekt sein .. und QMessageBox-Unterklassen von QtGui. Siehe Ссылка

    
user1936566 04.11.2017 13:02
quelle

Tags und Links