Hallo!
Ich habe das folgende Problem:
Währenddem ein Prozess läuft, möchte ich verhindern, dass der User klicken kann.
Mit setCursor(waitCursor) wird aber nur die Darstellung des Mauszeigers auf Sanduhr gestellt, klicken kann man trotzdem.
Hat jemand damit Erfahrung und kann mir helfen?!?
Vielen Dank im Voraus!
Klick verhindern
-
jaegermeister
- Beiträge: 70
- Registriert: 11. August 2004 07:44
- Wohnort: Bergen auf Rügen
- Kontaktdaten:
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
wenn Du Deinen Prozess innerhalb einer Schleife ausführst funktioniert
folgendes Verfahren
Allerdings wird ein Klick auf den Close - Button eines Fensters nicht verhindert, so dass Du (für Deinen betreffenden Dialog oder das betreffende Fenster) auf die Close - Nachricht reagieren (herausfiltern) musst.
Gruss Arne
folgendes Verfahren
Code: Alles auswählen
do
{
... prozess bearbeiten
qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput,300);
]
while (... prozess ist fertig ... )
Gruss Arne
Hi,
Du kannst einen eventFilter installieren. Darin kannst Du alle gesendeten Events (QMouseEvents usw.) abfangen.
Bsp:
Gruß Martin[/code]
Du kannst einen eventFilter installieren. Darin kannst Du alle gesendeten Events (QMouseEvents usw.) abfangen.
Bsp:
Code: Alles auswählen
bool PenKey::eventFilter(QObject *o, QEvent *e)
{
if( e->type() == QEvent::MouseButtonPress )
{
// mit Rückgabe von true wird das Signal nicht mehr weitergeleitet
return true;
}
}