2010-12-01 12 views
7

में DoubleClick पता लगाने के लिए मैं एक जीयूआई आवेदन बनाने के लिए PyQt उपयोग कर रहा हूँ। QTableView से विरासत में प्राप्त दृश्य में, जब पंक्ति को डबल क्लिक करते हैं तो उपयोगकर्ता द्वारा चुनी गई पंक्ति का पता लगाने की आवश्यकता होती है। तालिका क्रमबद्ध है, लेकिन कोई संपादन नहीं है।कैसे QTableView

मैं इसे कैसे कर सकता हूं?

नोट - doubleClicked (int) संकेत की कोशिश की। यह माउस बटनों द्वारा उत्सर्जित होता है, न कि डेटा कोशिकाओं द्वारा, इसलिए इसे कभी नहीं निकाल दिया गया था। :(

इयान

उत्तर

14

मुझे समझ में नहीं है। QTableView की doubleClicked संकेत हस्ताक्षर हैं

void doubleClicked (const QModelIndex & index) 

आपको लगता है कि संकेत कनेक्ट यदि आप सही QModelIndex प्राप्त करना चाहिए।

+0

मैं दोनों self.connect की कोशिश की इन पंक्ति और स्तंभ मानों का उपयोग कर सकते हैं (self.tableView, सिग्नल ("doubleClicked()"), self.dblClickHandler) और self.connect (self.tableView, सिग्नल ("doubleClicked (int)"), self.dblClickHandler) - क्लिक किया के उदाहरण से। इसके अलावा क्लिक किया गया(), और माउसDoubleClickEvent()। कोई भी – Ian

+0

ट्रिगर नहीं किया गया है मैंने कभी भी पाइथन बाइंडिंग का प्रयास नहीं किया है, लेकिन आप self.connect (self.tableView, SIGNAL ("डबलक्लेक्ड (कॉन्स QModelIndex &)"), self.dblClickHandler) – Haplo

+0

यदि कॉन्स टाइप और पता है तो मैं कोशिश कर सकता हूं (मैं नहीं करता C++ अच्छी तरह से नहीं जानते) तो यही है कि DoubleClicked (int) संस्करण है। – Ian

3

कोई ज़रूरत नहीं अब और संकेतों का उपयोग करने:

self.your_table.doubleClicked.connect(your_function) 

"डबलक्लेटेड" QAbstractItemView से विरासत में प्राप्त किया जा रहा है।

+0

मुझे पता है कि इस सूत्र थोड़ा पुराना है, लेकिन जैसा कि मैंने ऐसी ही कुछ कर रहा हूँ, मैं कैसे एक विशेष कक्ष है कि मैं डबल है के भीतर मूल्य प्राप्त करने के बारे जाते हो उस पर फिसल गया? – dissidia

3

एक बार जब आप आप जो सेल डबल क्लिक किया गया था खोजने के लिए उपयोग कर सकते हैं (जैसा कि ऊपर फ्रैंक की टिप्पणी से) modelIndex, है।

def slotDoubleClicked(self, mi): 
    row = mi.row() 
    column = mi.column() 

फिर आप table.setItem (पंक्ति, कॉलम, newdata) या अन्य तालिका विधि के साथ तालिका का उपयोग करने के

संबंधित मुद्दे