QT Tutorial

Verschiedenes zu Qt
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Oh, endlich ist Qt auch bei den TU-Lamern angekommen...
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ich habe die ersten Seiten durchgeblättert, der Code ist Schrott!
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

FlorianBecker hat geschrieben:Ich habe die ersten Seiten durchgeblättert, der Code ist Schrott!
Wie begruendest deine Meinung?

Goos
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Referenzen für Q_OBJECTS wo Pointer hingehören.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

FlorianBecker hat geschrieben:Referenzen für Q_OBJECTS wo Pointer hingehören.
Ja, is schlimm.. Und dann noch das ewige new/delete... hat bestimmt einer geschrieben der früher mal hardcore-C geschrieben hat :D
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

FlorianBecker hat geschrieben:Referenzen für Q_OBJECTS wo Pointer hingehören.
Hmm ein paar Seiten hab ich mir auch mal angeschaut, worauf beziehst dich genau. Ein Beispiel waere nett :)

Goos
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ist das dein Ernst?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Code: Alles auswählen

QWidget win;
win.show();
app.setMainWidget( &win );
return app.exec();
Dieser Aufruf führt zu möglichen Speicherüberläufen. Besser ist:

Code: Alles auswählen

QWidget *win = new QWidget();
win -> show();
app.setMainWidget( win );
return app.exec();
Damit gibt es gar keine gefährdeten Speicherüberläufe.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Aber sicherlich :)
Ich hab auf den ersten kurzen Blick nix gesehen und wuerd deshalb natuerlich gerne wissen, wovon du redest.

Goos
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Ok, die Codezitate lass ich mal gelten ;) . Koennte auch mal schiefgehen, wenns mal nicht nur ein kleines Beispielprogramm wird.

FlorianBecker hat geschrieben:Referenzen für Q_OBJECTS wo Pointer hingehören.
Was hat das aber damit zutun?
Eigentlich hatte ich doch dazu nichts gefunden.

Goos
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

QWidget widget = Q_OBJECT als Referenz
QWidget *widget = als Pionter

Dann gibt es noch einen PushButton, der er als Referenz nimmt, übrigens auch in der Main Klasse.

Aber danke, dass du das mal gelten läßt.

Ich weiß ja nicht, was du damit zu tun hast, aber ich mag es nicht, wenn ich mich für jede kleine Aussage Rechtfertigen muß.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Und was gibt es so schlimmes gegen die Referenzen auszusetzen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ok, dann kläre ich euch einmal auf:

Es gibt Programme, die andere Programme auf Speicherlücken prüfen.

Wenn du eine Referenz als setMainWidget angibst, kommt hier eine Speicherlücke, die kritisch werden kann. Während wenn du einen Pointer benutzt kommt hier keine Speicherlücke zu stande.

Auch die eigene Erfahrung hat gezeigt, das Programme deren setMainWidget als Referenz übergeben wird nicht besonders stabil laufen.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

FlorianBecker hat geschrieben:Es gibt Programme, die andere Programme auf Speicherlücken prüfen.

Wenn du eine Referenz als setMainWidget angibst, kommt hier eine Speicherlücke, die kritisch werden kann. Während wenn du einen Pointer benutzt kommt hier keine Speicherlücke zu stande.
Welche Software benutzt du dafuer?

Goos
Antworten