Qt: "Das Programm ist abgestürzt."

Qt Programmierung, QML, Qt-Plattformen
wellnestom
Beiträge: 30
Registriert: Fr Nov 09, 2012 10:29 am

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von wellnestom » Fr Dez 14, 2012 3:23 pm

nufan hat geschrieben:verwendest du irgendwelche nicht initialisierten Werte? Gib mal deine ganzen Koordinaten/Drehungen aus und vergleiche die Systeme.
Das wars! Hatte wirklich noch 4 Variablen die beim ersten Durchlauf noch nicht initialisiert waren. Hätt ich auch selber drauf kommen können. Aber ich dachte wirklich das es ein Qt-Problem unter Windows ist, weil unter Linux gings. Da sind die Variablen trotz nicht initialisierens 0.

Tschuldigung fürs lästig sein! :oops:

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von nufan » Fr Dez 14, 2012 3:26 pm

wellnestom hat geschrieben:Da sind die Variablen trotz nicht initialisierens 0.
Kann auch ein Zufall sein. Vielleicht macht der GCC das von sich aus auch so, aber du kannst dich auf keinen Fall darauf verlassen.
wellnestom hat geschrieben:Tschuldigung fürs lästig sein! :oops:
Kein Problem, dafür ist das Forum da :)

wellnestom
Beiträge: 30
Registriert: Fr Nov 09, 2012 10:29 am

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von wellnestom » So Dez 16, 2012 9:31 pm

Nochwas,
Wenn ich mehrere Bildschirme benutze kann ich so

Code: Alles auswählen

QApplication a(argc, argv);
QDesktopWidget *desktop;
desktop = QApplication::desktop();
int displays = desktop->numScreens();
std::cout << "Bildschirme: " << displays << std::endl;
QRect aufloesung = desktop->screenGeometry(0);
.....
rausfinden welche Auflösung Bildschirm 0 hat. Wenn ich also ein Widget auf Bildschirm 1 haben möchte, verschieb ich das einfach mit zum Beispiel .move(1920,0)
Das klappt aber nur wenn Bildschirm 1 rechts von Bildschirm 0 ist. In Linux kann ich die Bildschirme ja anordnen wie ich lustig bin. Nebeneinander, untereinander.....

Gibts eine einfache Möglichkeit ein Widget ohne irgendwelche Auflösungen oder Positionen zu kennen einfach auf Bildschirm 0 oder 1 zu öffnen?
Bei 2 Bildschirmen mag das mit dem .move ja noch toll sein, aber ich habe vor 5 Bildschirme mit unterschiedlichen Auflösungen zu nutzen und da wärs einfach leichter jedem Fenster zu sagen: Du - Screen 2, und Du - Screen 5.......

Gruß Tom

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von nufan » So Dez 16, 2012 10:01 pm

Das ist schon was ziemlich Systemabhängiges... Ich hab im Moment leider nicht die nötige Hardware um das zu testen. Was liefert dir denn availableGeometry() für alle Bildschirme zurück? Ist da x/y immer 0/0 oder entsprechend der Konfiguration?

wellnestom
Beiträge: 30
Registriert: Fr Nov 09, 2012 10:29 am

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von wellnestom » So Dez 16, 2012 10:14 pm

availableGeometry() klappt! Danke! Gibt mir für den zweiten Bildschirm schonmal x 1920 und y 0 aus. Damit kann ich jedes Fenster dahin 'moven' wo es sein soll und dann auf fullscreen setzen.
Ich glaub das war das einzige was ich nicht ausprobiert habe.....
nufan hat geschrieben:Das ist schon was ziemlich Systemabhängiges...
Schon klar das ich viel "nicht alltägliches" brauche. Aber im Moment ist eben alles learning by doing. Und ich denke du kannst dir vorstellen wie das Ziel der Reise aussieht. ;)

Groß Tom

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von Xin » Mi Dez 19, 2012 11:38 am

Ich habe das Programm grade mal unter Linux kompiliert.
Das Programm - hübsch übrigens - funktioniert einwandtfrei.

ABER: valgrind meldet bei QTransform::rotate() den Zugriff auf eine uninitialisierte Variable. Der Zustand uninitialisierter Variablen ist willkürlich. Wenn Linux Dir eine 0 da rein schreibt - schön. Wenn Windows das nicht tut, ist das sein gutes Recht.
Kurz: Schau nach, ob alles initialisiert wurde, was auch nur im Entferntesten mit der Transformation zu tun hat.



EDIT: Whoops... da gab's schon Seite 2... ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

wellnestom
Beiträge: 30
Registriert: Fr Nov 09, 2012 10:29 am

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von wellnestom » Mi Dez 19, 2012 5:32 pm

Xin hat geschrieben:- hübsch übrigens -
Danke! Ich hoffe nur du beziehst dich auf den Quellcode und nicht auf die in 40 Minuten schnell hingegimpten Testgrafiken.... ;)
<eigenlob> Ich denke meine ersten Gehversuche in C++ und Qt sind gar nicht so schlecht. </eigenlob> :roll:

Gruß Tom

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Qt: "Das Programm ist abgestürzt."

Beitrag von Xin » Fr Dez 21, 2012 8:43 pm

wellnestom hat geschrieben:
Xin hat geschrieben:- hübsch übrigens -
Danke! Ich hoffe nur du beziehst dich auf den Quellcode und nicht auf die in 40 Minuten schnell hingegimpten Testgrafiken.... ;)
Den Quellcode habe ich nur kompiliert und unter Valgrind ausprobiert, aber mir nicht großartig angesehen. Ich wollte nur sicherstellen, dass der Code unter Linux genauso fehlerhaft ist.
wellnestom hat geschrieben: <eigenlob> Ich denke meine ersten Gehversuche in C++ und Qt sind gar nicht so schlecht. </eigenlob> :roll:
Finde ich auch. (Notier: Wir brauchen mla ein Daumen-Hoch-Smiley)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten