tkinter ट्यूटोरियल
तिनके से शुरू करना
खोज…
टिप्पणियों
टिंकेटर (" टीके इंटर फेस") ग्राफिकल यूजर इंटरफेस (जीयूआई) बनाने के लिए अजगर का मानक क्रॉस-प्लेटफॉर्म पैकेज है। यह Tk टूलकिट के साथ एक अंतर्निहित Tcl दुभाषिया तक पहुँच प्रदान करता है, जो खुद एक क्रॉस-प्लेटफ़ॉर्म, बहुभाषी ग्राफ़िकल यूज़र इंटरफ़ेस लाइब्रेरी है।
टिक्चर अजगर के लिए केवल जीयूआई पुस्तकालय नहीं है, लेकिन यह एक है जो मानक आता है। अतिरिक्त जीयूआई पुस्तकालय जो अजगर के साथ इस्तेमाल किए जा सकते हैं उनमें wxPython , PyQt और kivy शामिल हैं ।
Tkinter की सबसे बड़ी ताकत इसकी सर्वव्यापकता और सरलता है। यह अधिकांश प्लेटफार्मों (लाइनक्स, ओएसएक्स, विंडोज) पर बॉक्स से बाहर काम करता है, और अधिकांश सामान्य कार्यों (बटन, लेबल, ड्राइंग कैनवास, बहुस्तरीय पाठ, आदि) के लिए आवश्यक विगेट्स की एक विस्तृत श्रृंखला के साथ पूरा होता है।
लर्निंग टूल के रूप में, टिंकर में कुछ विशेषताएं हैं जो GUI टूलकिट के बीच अद्वितीय हैं, जैसे कि नामित फोंट, बाइंड टैग और चर अनुरेखण।
अजगर 2 और 3 के बीच अंतर
टिक्चर काफी हद तक अजगर 2 और अजगर 3 के बीच अपरिवर्तित होता है, जिसमें प्रमुख अंतर यह है कि टिंकर पैकेज और मॉड्यूल का नाम बदल दिया गया था।
अजगर 2.x में आयात करना
अजगर 2.x में, tkinter पैकेज को Tkinter
नाम दिया Tkinter
, और संबंधित पैकेजों के अपने नाम हैं। उदाहरण के लिए, निम्नलिखित अजगर 2.x के लिए आयात विवरणों का एक विशिष्ट सेट दिखाता है:
import Tkinter as tk
import tkFileDialog as filedialog
import ttk
अजगर 3.x में आयात करना
हालांकि अजगर 2 और 3 के बीच कार्यक्षमता में बहुत बदलाव नहीं हुआ है, सभी टिक्चर मॉड्यूल के नाम बदल गए हैं। अजगर 3.x के लिए आयात विवरणों का एक विशिष्ट सेट निम्नलिखित है:
import tkinter as tk
from tkinter import filedialog
from tkinter import ttk
आगे की पढाई
संस्करण
Tcl
संस्करण | रिलीज़ की तारीख |
---|---|
8.6 | 2016/07/27 |
8.5 | 2016/02/12 |
8.4 | 2013-06-01 |
8.3 | 2002/10/18 |
8.2 | 1999/12/16 |
8.1 | 1999/05/26 |
8.0 | 1999/03/09 |
अजगर
संस्करण | रिलीज़ की तारीख |
---|---|
3.6 | 2016/12/23 |
3.5 | 2015/09/13 |
3.4 | 2014-03-17 |
3.3 | 2012-09-29 |
3.2 | 2011-02-20 |
3.1 | 2009-06-26 |
3.0 | 2008/12/03 |
2.7 | 2010-07-03 |
2.6 | 2008-10-02 |
2.5 | 2006-09-19 |
2.4 | 2004/11/30 |
2.3 | 2003/07/29 |
2.2 | 2001/12/21 |
2.1 | 2001/04/15 |
2.0 | 2000/10/16 |
स्थापना या सेटअप
मैक ओएस एक्स और विंडोज प्लेटफॉर्म के लिए टिक्चर पायथन इंस्टॉलर बायनेरिज़ के साथ पहले से इंस्टॉल आता है। इसलिए यदि आप मैक ओएस एक्स या विंडोज प्लेटफॉर्म के लिए आधिकारिक बायनेरिज़ से पायथन स्थापित करते हैं, तो आप टिंकर के साथ जाना अच्छा है।
लिनक्स के डेबियन संस्करणों के लिए आपको निम्नलिखित कमांड का उपयोग करके इसे मैन्युअल रूप से इंस्टॉल करना होगा।
पायथन 3 के लिए
sudo apt-get install python3-tk
पायथन 2.7 के लिए
sudo apt-get Install python-tk
Yum इंस्टॉलर के साथ लिनक्स डिस्ट्रोस कमांड का उपयोग करके टंकटर मॉड्यूल स्थापित कर सकता है:
yum tkinter इंस्टॉल करें
संस्थापन की पुष्टि कर रहा
यह सत्यापित करने के लिए कि क्या आपने सफलतापूर्वक Tkinter स्थापित किया है, अपना पायथन कंसोल खोलें और निम्न कमांड टाइप करें:
import tkinter as tk # for Python 3 version
या
import Tkinter as tk # for Python 2.x version
यदि आपने उपरोक्त कमांड को बिना किसी त्रुटि के निष्पादित किया है, तो आपने टिंकर को सफलतापूर्वक स्थापित किया है।
Tkinter संस्करण की जांच करने के लिए, अपने पायथन REPL में निम्न कमांड टाइप करें:
अजगर 3.X के लिए
import tkinter as tk
tk._test()
अजगर के लिए 2.X
import Tkinter as tk
tk._test()
नोट: Tkinter as tk
आयात करना आवश्यक नहीं है, लेकिन अच्छा अभ्यास है क्योंकि यह चीजों को संस्करण के बीच सुसंगत रखने में मदद करता है।
नमस्ते दुनिया! (कम से कम)
आइए क्लासिक "हैलो, वर्ल्ड!" बनाकर टेंकर के हमारे बुनियादी ज्ञान का परीक्षण करें। कार्यक्रम।
सबसे पहले, हमें टिंकर आयात करना चाहिए, यह संस्करण के आधार पर अलग-अलग होगा ("पायथन 2 और 3 के बीच अंतर के बारे में टिप्पणी अनुभाग देखें")
पायथन 3 में मॉड्यूल tkinter
में एक लोअरकेस टी है:
import tkinter as tk
पायथन 2 में मॉड्यूल Tkinter
में एक अपरकेस टी है:
import Tkinter as tk
as tk
का उपयोग करना कड़ाई से आवश्यक नहीं है, लेकिन हम इसका उपयोग करेंगे इसलिए इस उदाहरण के शेष भाग दोनों संस्करणों के लिए समान होंगे।
अब जब हमारे पास आयात किया जाने वाला टिंकर मॉड्यूल है तो हम Tk
क्लास का उपयोग करके अपने एप्लिकेशन की जड़ बना सकते हैं:
root = tk.Tk()
यह हमारे एप्लिकेशन के लिए विंडो की तरह काम करेगा। (ध्यान दें कि अतिरिक्त विंडो की जगह Toplevel
इंस्टेंस होना चाहिए)
अब जब हमारे पास एक विंडो है, तो उस पर एक Label
साथ टेक्स्ट जोड़ें
label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window
एक बार आवेदन तैयार हो जाने के बाद हम इसे mainloop
पद्धति से शुरू कर सकते हैं ( मुख्य ईवेंट लूप दर्ज करें)
root.mainloop()
यह एप्लिकेशन को तब तक खोलेगा और चलाएगा जब तक कि इसे बंद नहीं किया जा रहा है या कॉलबैक (बाद में चर्चा की गई) जैसे root.destroy()
फ़ंक्शंस को बंद नहीं किया जा रहा है।
यह सब एक साथ डालें:
import tkinter as tk # Python 3.x Version
#import Tkinter as tk # Python 2.x Version
root = tk.Tk()
label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window
root.mainloop()
और इस तरह से कुछ पॉप अप होना चाहिए:
नमस्ते दुनिया! (मॉड्यूलर, वस्तु उन्मुख)
import tkinter as tk
class HelloWorld(tk.Frame):
def __init__(self, parent):
super(HelloWorld, self).__init__(parent)
self.label = tk.Label(self, text="Hello, World!")
self.label.pack(padx=20, pady=20)
if __name__ == "__main__":
root = tk.Tk()
main = HelloWorld(root)
main.pack(fill="both", expand=True)
root.mainloop()
नोट: यह संभव है कि रूट विंडो सहित किसी भी tkinter विजेट के बारे में इनहेरिट करना संभव है। tkinter.Frame
से tkinter.Frame
करना कम से कम यकीनन सबसे लचीला है कि यह कई डॉक्यूमेंट इंटरफेस (MDI), सिंगल डॉक्यूमेंट इंटरफेस (SDI), सिंगल पेज एप्लिकेशन और मल्टीपल पेज एप्लिकेशन को सपोर्ट करता है।