Wo soll ich die QApplication :: notify Funktion neu implementieren?

8

Wo soll ich die QApplication :: notify Funktion neu implementieren? Was ich meine ist, welche Klasse? Eine meiner eigenen Klassen oder Unterklasse von Qt's Klasse und mache es dort? Ich brauche das, weil ich den folgenden Fehler beim Herunterladen der Datei von einem Server bekomme (kleine Dateien werden heruntergeladen, ok, aber große verursachen diese msg):

  

Qt hat eine Ausnahme abgefangen, die von einem Event-Handler ausgelöst wurde. Werfen   Ausnahmen von einem Event-Handler werden in Qt nicht unterstützt. Du musst   reimplementiere QApplication :: notify () und fange alle Ausnahmen dort.

    
user336359 14.12.2012, 12:06
quelle

2 Antworten

10

Nur Unterklasse QApplication und in Ihrer notify(..) -Methode tun Sie etwas wie folgt:

%Vor%

Dann verwenden Sie es in Ihrer Hauptfunktion anstelle von QApplication .

    
cmannett85 14.12.2012, 12:26
quelle
6

Wie bereits erwähnt, erstellen Sie Ihr eigenes Anwendungsobjekt, das von QtApplication erbt und 'notify' neu definiert. Es ist der Weg zu gehen. Seien Sie jedoch sehr sicher, diesen Konstruktor zu verwenden:

%Vor%

Einstellung von argc als Referenz mit '& amp;' ist wichtig, da es auf einigen Plattformen einen Absturz vermeidet.

Das vollständige Verfahren wird hier beschrieben: Ссылка

Meine eigene Implementierung:

%Vor%

(Der oben beschriebene Absturz passierte unter Ubuntu 13.10 64 Bit, war aber in Version 12.04 64 Bit nicht vorhanden.)

    
user2972053 09.11.2013 14:16
quelle

Tags und Links