PySide: Segfault (?) bei Verwendung von QItemSelectionModel mit QListView

8

Gleiches Problem wie dieses: Verbinden von QTableView selectionChanged-Signal erzeugt segfault mit PyQt

Ich habe eine QListView, und ich möchte eine Funktion aufrufen, wenn ein Element ausgewählt ist:

%Vor%

Aber wenn es die letzte Zeile erreicht, wo ich das Auswahlmodell verwende, stürzt die App ab. Nicht mit einem Traceback, aber mit einem "Appname funktioniert nicht mehr" von Windows. Ich bin mir ziemlich sicher, dass das ein Fehler ist.

ABER, wenn ich PyQt4 verwende, funktioniert es gut. Ich benutze PySide, weil es LGPL ist.

Ja, ich bin auf den neuesten Versionen von allem (PySide: 1.2.1, Python 2.7.5, Qt 4.8.5).

Kann mir jemand dabei helfen?

    
user1438098 06.10.2013, 16:58
quelle

2 Antworten

13
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123qt ___ Qt ist ein plattformübergreifendes Anwendungsentwicklungs-Framework, das häufig für die Entwicklung von Anwendungssoftware verwendet wird, die auf verschiedenen Software- und Hardwareplattformen ohne oder mit nur geringer Änderung der zugrundeliegenden Codebasis ausgeführt werden kann. Qt ist sowohl mit kommerziellen als auch mit Open-Source-Lizenzen verfügbar. ___ answer21196671 ___

Halten Sie einen Verweis auf das Selektionsmodell für die Lebensdauer des Selektionsmodells bereit. Das hat bei mir mit einem ähnlichen Problem funktioniert (seg fault bei der Verbindung zum currentChanged-Ereignis in einem Tabellen Views Selection Model).

%Vor%

Aus irgendeinem Grund funktionieren die letzten beiden Zeilen, während die Kombination zu einem Befehl einen Fehler verursacht.

    
___ tag123crash ___ Ein Absturz ist das Ergebnis eines nicht behebbaren Fehlers, der dazu führt, dass das Programm vollständig beendet wird. ___ tag123segmentierungsfehler ___ Segmentierungsfehler treten auf, wenn auf Speicher zugegriffen wird, der nicht zu Ihrem Prozess gehört. Verwenden Sie dieses Tag zusammen mit einem Tag, das die Sprache angibt, und einem Tag, der das Betriebssystem angibt. Segmentierungsfehler sind typischerweise das Ergebnis einer Dereferenzierungsoperation mit Zeigervariablen (die meistens eine ungültige Adresse enthalten) oder eines Pufferüberlaufs. Die Ursache für einen ungültigen Zeigerwert kann weit von der Stelle entfernt sein, an der der Segmentierungsfehler generiert wird. ___ answer33830645 ___

Das gleiche Problem hier: Ссылка

Und ich antwortete auch: Ссылка

Ich vermute, was passiert ist:

%Vor%     
___ qstnhdr ___ PySide: Segfault (?) bei Verwendung von QItemSelectionModel mit QListView ___ qstntxt ___

Gleiches Problem wie dieses: Verbinden von QTableView selectionChanged-Signal erzeugt segfault mit PyQt

Ich habe eine QListView, und ich möchte eine Funktion aufrufen, wenn ein Element ausgewählt ist:

%Vor%

Aber wenn es die letzte Zeile erreicht, wo ich das Auswahlmodell verwende, stürzt die App ab. Nicht mit einem Traceback, aber mit einem "Appname funktioniert nicht mehr" von Windows. Ich bin mir ziemlich sicher, dass das ein Fehler ist.

ABER, wenn ich PyQt4 verwende, funktioniert es gut. Ich benutze PySide, weil es LGPL ist.

Ja, ich bin auf den neuesten Versionen von allem (PySide: 1.2.1, Python 2.7.5, Qt 4.8.5).

Kann mir jemand dabei helfen?

    
___ tag123pyside ___ Fragen zur Verwendung von PySide, einem Python Qt Bindings-Projekt. ___
Valakyr 17.01.2014 23:08
quelle
3

Das gleiche Problem hier: Ссылка

Und ich antwortete auch: Ссылка

Ich vermute, was passiert ist:

%Vor%     
Matthew 20.11.2015 15:44
quelle