2013-02-10 15 views
6

के साथ segfault उत्पन्न करता है मेरे पास एक PyQt अनुप्रयोग में QTableView है, और मैं चयन में परिवर्तन के दौरान ट्रैक रखना चाहता हूं। मैं this page पर (एक स्लॉट के रूप में इस के लिए संकेत जोड़ने सलाह का उपयोग कर की कोशिश की है:कनेक्टिंग QTableView चयनChanged सिग्नल PyQt

def selChanged(self, selected, deselected): 
     print "Sel changed" 

बहरहाल, जब भी मैं लोड:

self.view.selectionModel().selectionChanged.connect(self.selChanged) 

जहां स्लॉट यह जुड़ा हुआ है के रूप में परिभाषित किया गया है QMainWindow जिस पर QTableView रहता है, मैं एक तत्काल विभाजन गलती मिलता है।

मैं कुछ यहाँ मूर्खतापूर्ण कर रहा हूं?

+0

आपके द्वारा दिखाए गए कोड में स्पष्ट रूप से कुछ भी गलत नहीं है। शायद मुद्दा कहीं और है? क्या आप इस मुद्दे के साथ एक पूर्ण उदाहरण पोस्ट कर सकते हैं? – Avaris

उत्तर

2

यह अब तय किया गया है, यह पता चला कि मैं उस मशीन पर क्यूटी के पुराने संस्करण का उपयोग कर रहा था - जो दुर्घटना का कारण बनता था।

कहानी का नैतिक है: यदि आपका कोड किसी समझदार कारण के लिए क्रैश नहीं हो रहा है, तो अपनी सभी निर्भरताओं की जांच करें (इस मामले में क्यूटी और पीईक्यूटी) अद्यतित हैं।

4

मैं एक ऐसी ही समस्या हो रही थी और ठीक यहाँ था: PySide: Segfault(?) when using QItemSelectionModel with QListView

अर्थात् बदल देते हैं:

self.view.selectionModel().selectionChanged.connect(self.selChanged) 

दो आदेशों के साथ:

selectionModel = self.view.selectionModel() 
selectionModel.selectionChanged.connect(self.selChanged) 
नहीं

यकीन है कि क्यों यह काम करता है, स्पष्ट रूप से।