2012-02-19 14 views
27

मैं पाइथन सीख रहा हूं, और मैं इसे एक साधारण जीयूआई एप्लिकेशन बनाने के लिए उपयोग करना चाहता हूं, और Tkinter पहले ही अंतर्निहित है (और उपयोग करने में बहुत आसान है) मैं इसे अपने एप्लिकेशन के निर्माण के लिए उपयोग करना चाहता हूं।क्या टिंकर के पास टेबल विजेट है?

मैं एक ऐप बनाना चाहता हूं जो एक तालिका प्रदर्शित करेगा जिसमें मेरे डेटाबेस से कुछ डेटा शामिल है।

मैंने table की खोज की है लेकिन Tkinter table घटक के संबंध में कोई भी उदाहरण और/या दस्तावेज़ीकरण नहीं ढूंढ पाया है।

Tkintertable घटक में निर्मित है? यदि नहीं, तो मैं इसके बजाय क्या उपयोग कर सकता/सकती हूं?

+0

https://github.com/clarenceangel/tkinterstuff शुरुआती लोगों के लिए बिल्कुल सही सामान बिल्कुल वही है जो आप चाहते हैं। – Mike

उत्तर

17

टिंकर में एक अंतर्निहित तालिका विजेट नहीं है। सबसे नज़दीकी आप उपयोग कर सकते हैं Listbox या tkinter के उप पैकेज ttk के Treeview है।

हालांकि, अगर आप tktable, जो Tcl/TkTkTable विजेट के चारों ओर एक आवरण, Guilherme Polo द्वारा लिखित है उपयोग कर सकते हैं। नोट: इस रैपर लाइब्रेरी का उपयोग करने के लिए आपको पहले मूल की TkTable लाइब्रेरी स्थापित करने की आवश्यकता है, अन्यथा आपको "आयात त्रुटि" मिल जाएगी।

16

यदि तालिका केवल पढ़ने के लिए है और आप टिंकर के पर्याप्त आधुनिक संस्करण का उपयोग कर रहे हैं तो आप ttk.Treeview विजेट का उपयोग कर सकते हैं।

आप Entry या Label विजेट्स का ग्रिड भी आसानी से बना सकते हैं। उदाहरण के लिए यह उत्तर देखें: https://stackoverflow.com/a/11049650/7432

+3

महान उदाहरण [यहां] (http://www.daniweb.com/software-development/python/threads/350266/creating-table-in-python) –

11

आप tkintertable का उपयोग कर सकते हैं। here इसे कैसे उपयोग करना शुरू करें देखें।

+2

अब यह https://github.com/dmnfarrell/ पर रीडायरेक्ट करता है tkintertable जहां यह ** ** पाइथन 2 के लिए ** ** ** – handle

+1

फ्रीवाइंड के लिए कहता है: भले ही 'tkintertable' पायथन 2 के लिए लिखा गया हो, फिर भी यह शुद्ध पायथन-प्रतीत होता है, क्योंकि यह ओपन सोर्स है, इसे पायथन 3 में काम करने के लिए अपडेट नहीं किया जा सकता है बहुत मुश्किल हो। – martineau

+0

यदि आप पांडा का उपयोग करते हैं, तो यह एक अच्छा विकल्प हो सकता है: https://github.com/dmnfarrell/pandastable – srf

17

आप टिंकर के ग्रिड का उपयोग कर सकते हैं।

एक सरल एक्सेल की तरह तालिका बनाने के लिए:

from Tkinter import * 

root = Tk() 

height = 5 
width = 5 
for i in range(height): #Rows 
    for j in range(width): #Columns 
     b = Entry(root, text="") 
     b.grid(row=i, column=j) 

mainloop() 

आप ग्रिड के बच्चों तक पहुँचने और वहाँ से मूल्यों हो रही द्वारा डेटा प्राप्त कर सकते हैं।

+0

मुझे लगता है कि आप 'b.pack() 'जोड़ना भूल गए हैं। –

0

https://github.com/clarenceangel/tkinterstuff मैंने इसे बनाया लेकिन मैं कोई समर्थक नहीं हूं। यह एक टेबल बनाता है और इसे एक फ्रेम के रूप में वापस लाता है जिसे आप फ्रेम या रूट में जोड़ सकते हैं। आप इसे किसी भी पंक्तियों और स्तंभों के साथ एक सीएसवी खिलाते हैं जब तक कॉलम प्रत्येक पंक्ति पर भी होते हैं।

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