Hi, ich habe im Qt4 Designer eine einfache Oberfläche erstellt. Wenn ich diese Oberfläche in einem Programm lade und das Programm dann beende, tritt fast jedes mal ein Segmentation Fault auf. Das Programm selbst tut noch nicht viel. Es verknüpft lediglich die Click Events zweiter Buttons mit Funktionen.
Als Test habe ich ein neues MainWindow erstellt, welches nur die beiden Buttons enthält. Da tritt das Problem nicht auf. Es lässt sich also auf das ui File eingrenzen.
Ist irgendwas bekannt, dass es mit bestimmten Widgets oder mit bestimmten Layouts oder irgendwelchen Kombinationen zu einem solchen Fehler kommen kann? (ich nutze im übrigen Ubuntu 10.04)
EDIT: ich konnte das Problem inzwischen exakt definieren können. Sobald ich in einer ComboBox das "editable" Flag setze tritt das Problem auf
Segmentation Fault mit loadUI
Ich hab noch ein bissel experimentiert und hab das Problem mal auf das Minimum runter gebrochen. Deshalb hat es etwas gedauert
Hier ist einmal die mini.ui Datei http://pastebin.org/453224
und die mini.py http://pastebin.org/453234
Es ist bei mir hier verifizierbar. Wenn ich im Designer die Eigenschaft "editable" deaktiviere kann ich das Programm 50x starten und beenden, ohne dass ich einen Segmentation Fault bekomme. Setze ich einen Haken bei "editable" bekomme ich bei 4 von 5 mal Programm starten und beenden einen Segmentation Fault. Immer beim Beenden. Es reicht, dass Programm in der Konsole zu starten und mit Atl+F4 zu beenden. Die Scan Funktion hat nur dekorativen Charakter. Ich kann auch die Imports von serial und glob sowie die Scan Funktion auskommentieren und erhalte das gleiche Ergebnis.
Hier ist einmal die mini.ui Datei http://pastebin.org/453224
und die mini.py http://pastebin.org/453234
Es ist bei mir hier verifizierbar. Wenn ich im Designer die Eigenschaft "editable" deaktiviere kann ich das Programm 50x starten und beenden, ohne dass ich einen Segmentation Fault bekomme. Setze ich einen Haken bei "editable" bekomme ich bei 4 von 5 mal Programm starten und beenden einen Segmentation Fault. Immer beim Beenden. Es reicht, dass Programm in der Konsole zu starten und mit Atl+F4 zu beenden. Die Scan Funktion hat nur dekorativen Charakter. Ich kann auch die Imports von serial und glob sowie die Scan Funktion auskommentieren und erhalte das gleiche Ergebnis.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Ich kann den Absturz nicht nachvollziehen. Bei mir beendet sich das Programm normal, alles andere hätte mich bei dem Quelltext auch sehr gewundert.
Warum es bei Dir abstürzt, kann ich Dir nicht sagen.
Warum es bei Dir abstürzt, kann ich Dir nicht sagen.
So, ich kann den Segmentation Fault auf 3 Rechnern mit Ubuntu 10.04 beobachten. Auf einem Rechner mit der Alpha 3 von Ubuntu 10.10 konnte ich den Fehler noch nicht beobachten.
Es muss also etwas mit der Qt4 oder PyQt4 Version in Ubuntu 10.04 zu tun haben.
Es muss also etwas mit der Qt4 oder PyQt4 Version in Ubuntu 10.04 zu tun haben.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Ich hab mit PyQt inzwischen folgende Erfahrungen gemacht: Wenn ein Programm nicht tut wie es soll hilft es zumeist PyQt händisch zu installieren. Irgendwie hab ich nämlich das Gefühl, dass das PyQt ausm Repo nicht genau auf die Qt Version passt. Zumindest hatte ich bei älteren Ubuntuversionen ähnliche Probleme.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nein, nicht unbedingt, PyQt muss allerdings fuer die Qt-Version uebersetzt worden sein.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte