2012-01-08 15 views
9

मैं पीईक्यूटी के लिए नया हूं और फिर भी थोड़ा उलझन में हूं।पायथन - पीईक्यूटी - क्यूटेबल विजेट - पंक्तियों को जोड़ना

  • नाम उपनाम टेलीफोन ईमेल

कहाँ रिक्त स्थान वास्तव में टैब "\ t" कर रहे हैं अब जब मैं पढ़ इस फाइल कण मेरी विधि मैं QTable विजेट को भरने के लिए चाहते हैं: मैं इस तरह एक पाठ फ़ाइल संरचना है ।

मेरे QTable विजेट 4 कॉलम Name कहा जाता है, Surname, Telephone, Email अब यह कोई भी पंक्ति है, लेकिन मुझे लगता है कि में प्रत्येक स्तंभ में शामिल है एक नई पंक्ति जोड़ना चाहते हैं के रूप में मैं फ़ाइल से लाइनों को पढ़ने और टेबुलेटर द्वारा प्रत्येक पंक्ति विभाजित है जो कुछ भी लाइन में था

क्या कोई मुझे दिशा में इंगित कर सकता है कि इस बारे में कैसे जाना है क्योंकि मुझे कोई समाधान या QTable विजेट द्वारा प्रदान की जाने वाली विधि नहीं मिलती है जो आपको इसकी अनुमति देती है।

उत्तर

14

जब आप QTableWidget पॉप्युलेट करना चाहते हैं, तो आपको डेटा example in documentation डालने से पहले पंक्ति और कॉलम गणना सेट करने की आवश्यकता है (PySide दस्तावेज़ PyQt से बेहतर है)। और आप तालिका में टैब द्वारा अलग टेक्स्ट स्ट्रिंग को सम्मिलित नहीं कर सकते हैं, आपको इसे स्वयं तैयार करने की आवश्यकता है, और फिर QTableWidget.setItem पर कॉल करके QTableWidgetItem के साथ तालिका को पॉप्युलेट करें। यह इस तरह दिखेगा:

entries = [] 
with open('data') as input: 
    for line in input: 
     entries.append(line.strip().split('\t')) 

tableWidget.setRowCount(len(entries)) 
tableWidget.setColumnCount(len(entries[0])) 

for i, row in enumerate(entries): 
    for j, col in enumerate(row): 
     item = QTableWidgetItem(col) 
     tableWidget.setItem(i, j, item) 

मैं यह सोचते कर रहा हूँ आप अपनी प्रविष्टियों के साथ data फ़ाइल है, और tableWidgetQTableWidget उदाहरण है।

इस उदाहरण में फ़ाइल हाथ से पार्स की गई है, लेकिन इस कार्य के लिए स्टैंडर csv module का उपयोग करने पर विचार करें।

+0

सहायता के लिए धन्यवाद। मैंने अपना गुई ऐप बदल दिया जहां मेरी विधि लाइनों द्वारा फ़ाइल पढ़ती है और आपके द्वारा की गई सूची में लाइनों को जोड़ती है। बहुत बहुत धन्यवाद। –

+0

कुछ पायथन शुरुआती के लिए, मेरे जैसे: मुझे QTableWidgetItem का उपयोग करने का विश्वास है, आपको PyQt4 (PyQt4 आयात QtCore, QyGui से) QtGui आयात करना है और QTableWidgetItem के बजाय QtGui.QTableWidgetItem का उपयोग करना है। –