টিকিন্টার জিইউআই লাইব্রেরির সাহায্যে পাইথনে ডেস্কটপ অ্যাপ তৈরি করা শুরু করুন

টিকিন্টার জিইউআই লাইব্রেরির সাহায্যে পাইথনে ডেস্কটপ অ্যাপ তৈরি করা শুরু করুন

টিকিন্টার একটি গ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) টুলকিট যা আপনি ডেস্কটপ অ্যাপস তৈরিতে পাইথনের শক্তি অন্বেষণ করতে চাইলে চেষ্টা করা উচিত।





এখানে, আমরা Tkinter GUI মডিউলের মৌলিক বিষয়গুলো দেখে নিই।





আপনি কি ভিডিও গেম খেলে অর্থ উপার্জন করতে পারেন?

Tkinter সেটআপ

সাধারণত, আপনাকে ইনস্টল করার দরকার নেই tkinter পৃথকভাবে যদি আপনি পাইথনের পরবর্তী সংস্করণটি ইনস্টল করেন, পাইথন 3 দিয়ে শুরু করে, যদিও লাইব্রেরি পুরনো পাইথন সংস্করণগুলির সাথে কাজ নাও করতে পারে। এটি ম্যাক এবং লিনাক্স ব্যবহারকারীদের জন্য একটি সাধারণ সমস্যা, কারণ এই ওএসগুলি সাধারণত ডিফল্টভাবে পাইথনের পুরোনো সংস্করণ নিয়ে আসে।





সাধারণত, ব্যবহার করতে tkinter মডিউল, নিশ্চিত করুন যে আপনি অফিসিয়াল থেকে আপনার পিসিতে পাইথনের সর্বশেষ সামঞ্জস্যপূর্ণ সংস্করণটি ডাউনলোড এবং ইনস্টল করেছেন python.org ওয়েবসাইট

আপনি যদি ম্যাক এ থাকেন, বিকল্পভাবে, আপনি ActiveTcl এর সর্বশেষ সংস্করণটি ডাউনলোড করতে পারেন, a tkinter থেকে কম্পাইলার অ্যাক্টিভ স্টেট



কিভাবে Tkinter ব্যবহার করবেন

Tkinter তার অন্তর্নির্মিত উপর নির্ভর করে TK শ্রেণী এবং এটি GUI এর মধ্যে সমস্ত ইভেন্টগুলিকে একটিতে আবৃত করে মেইনলুপ । সুতরাং মেইনলুপ মোড়ক আপনার তৈরি করে tkinter কোড এক্সিকিউটেবল

শুরু করার জন্য tkinter :





from tkinter import Tk
Tk().mainloop()

উপরের কোডটি চালানো একটি খালি স্পিন করে tkinter ফ্রেম.

টিকিন্টারের কাস্টমাইজেশন বৈশিষ্ট্যগুলি অবশ্য এর অন্তর্নির্মিত উইজেটগুলিতে রয়েছে।





এই উইজেটগুলি ব্যবহার করতে, আপনি সেগুলি থেকে আমদানি করতে পারেন tkinter প্রতিস্থাপন করে Tkinter আমদানি থেকে টাকা সঙ্গে:

from tkinter import *
t = Tk()
t.mainloop()

আপনি উইন্ডো সাইজ এর সাথে সামঞ্জস্য করতে পারেন জ্যামিতি ফাংশন এবং তারপর ব্যবহার করে একটি শিরোনাম নির্দিষ্ট করুন শিরোনাম এর উইজেট tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Tkinter লেবেল উইজেট

Tkinter আপনাকে সরাসরি GUI- এ ব্যবহার করে সাধারণ পাঠ্য লিখতে দেয় লেবেল উইজেট:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

দ্য গ্রিড () পদ্ধতি, যাইহোক, এর একটি বিকল্প প্যাক () পদ্ধতি এটি আপনার উইজেটগুলিকে GUI এ আটকে রাখে, সেগুলি দৃশ্যমান করে তোলে।

আপনি আপনার জন্য একটি ফন্ট নির্দিষ্ট করতে পারেন লেবেল পাঠ্য:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

টিকিন্টারে বোতাম উইজেটগুলির সাথে কাজ করা

বোতামগুলি সবচেয়ে বেশি ব্যবহৃত উইজেটগুলির মধ্যে একটি tkinter । এবং আপনি বিভিন্ন অন্তর্নির্মিত বোতাম উইজেট ব্যবহার করে আপনার জিইউআইতে এই ক্লিকযোগ্য বোতামগুলি যুক্ত করতে পারেন।

আপনার জিইউআই -তে একটি প্রাথমিক বোতাম কীভাবে যুক্ত করবেন তা এখানে বোতাম উইজেট:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

দ্য বিজি এবং fg কীওয়ার্ডগুলি যথাক্রমে বোতামের পটভূমির রঙ এবং এর মধ্যে থাকা পাঠ্যের রঙ বর্ণনা করে।

আপনি বোতামের মাত্রা সমন্বয় করতে পারেন উচ্চতা এবং প্রস্থ পরামিতি:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

এখানে এর জন্য আউটপুট আছে:

আমার সিপিইউ কতটা গরম হওয়া উচিত

এবং যদি আপনি বোতামটিকে আরও দৃষ্টিকটু করে তুলতে চান, আপনি একটি অন্তর্ভুক্ত করতে পারেন স্বস্তি কীওয়ার্ড এবং তারপর এর সীমানা প্রস্থ সামঞ্জস্য করুন:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

এবং যে এই মত দেখাচ্ছে:

প্রতিস্থাপন করুন উত্থাপিত সঙ্গে সমান কিভাবে এটি মাধ্যমে আসে দেখতে।

আপনি যত খুশি বাটন যোগ করতে পারেন। কিন্তু আপনি বিষয়বস্তু ওভারল্যাপ এড়াতে সতর্ক থাকুন।

ওভারল্যাপ এড়াতে, আপনি প্রতিটি বোতামের জন্য সারি এবং কলামের অবস্থান নির্দিষ্ট করতে পারেন:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

একটি চ্ছিক কমান্ড কীওয়ার্ড, যাইহোক, ইভেন্ট যোগ করে বোতাম উইজেট সংক্ষেপে, এটি একটি চ্ছিক ফাংশন নোঙ্গর করে যা কিছু ইভেন্ট পরিচালনা করে যখন আপনি একটি বোতাম ক্লিক করেন।

উদাহরণস্বরূপ, নীচের কোডটি প্রতিটি বোতামের মান 6 দ্বারা গুণ করে যখন আপনি এটি ক্লিক করেন। এবং এটি একটি পূর্বনির্ধারিত ফাংশনের উপর ভিত্তি করে:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

উপরের কোডে, বাটনপ্রেস গুণক ঘটনাটি পরিচালনা করে। দ্য বোতাম উইজেট তারপর একটি বেনামী ব্যবহার করে সেই ইভেন্ট হ্যান্ডলারের দিকে নির্দেশ করে ল্যাম্বদা ফাংশন

এবং যদি আপনি সম্পর্কে উদ্বিগ্ন হন প্যাড কীওয়ার্ড, এটি সারি জুড়ে প্রতিটি বোতামকে আলাদাভাবে আলাদা করে। এর সাথে প্রতিস্থাপন প্যাডক্স কলাম জুড়ে বোতামগুলি পৃথক করে। এবং আপনি উভয় কীওয়ার্ড একসাথে ব্যবহার করতে পারেন উভয় অক্ষ জুড়ে বোতামগুলিকে আলাদা করার জন্য।

এটি বলেছিল, আপনি আগের বোতামটির মতো প্রতিটি বোতামের জন্য চাকাটি পুনরায় উদ্ভাবন করতে চান না। এটি এক্সিকিউশনের সময়কে ধীর করে দেয়, প্লাস এটি আপনার কোড পড়তে এবং সংকীর্ণ করতে কঠিন করে তোলে।

কিন্তু আপনি পারেন একটি লুপ ব্যবহার করুন এই পুনরাবৃত্তি এড়াতে।

সুতরাং উপরের কোডটির একটি সংক্ষিপ্ত এবং ভাল সংস্করণ এখানে:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

এর শক্তি আরও অন্বেষণ করা যাক জন্য আপনার GUI- এ মেনু বোতাম যুক্ত করার লুপ:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

আপনার GUI তে চেক বোতাম যুক্ত করাও বেশ সহজ:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

যে চেক বোতামটি ব্যবহার করে নির্দ্বিধায় জন্য লুপ, যেমনটা আমরা আগে করেছি।

কিভাবে Tkinter এর মেনু উইজেট দিয়ে ড্রপডাউন মেনু তৈরি করবেন

দ্য তালিকা উইজেট আপনাকে ক্লিকযোগ্য ড্রপডাউন মেনু ডিজাইন করতে দেয় tkinter

আগেই উল্লেখ করেছি, tkinter অনেক উইজেট অপশন অফার করে। এবং আপনার ড্রপডাউন মেনু ডিজাইন করার সময় আপনি তাদের কিছু ব্যবহার করবেন।

ড্রপডাউন করার সময় আপনি যে সাধারণ উইজেট বিকল্পগুলি দেখতে পাবেন তা এখানে:

  • add_cascade: এটি একটি মেনু লেবেল প্রদর্শন করে এবং এটি যেখানে থাকে সেখানে আটকে দেয়।
  • add_separator: এটি সাবমেনাসকে সীমাবদ্ধ করে এবং তাদের উপরের এবং নীচের সাবমেনাসে বিভক্ত করে।
  • add_command: এখানেই আপনি আপনার সাবমেনুকে একটি নাম দেন। শেষ পর্যন্ত, এটি একটি কমান্ড আর্গুমেন্ট গ্রহণ করে যেখানে আপনি একটি ইভেন্ট হ্যান্ডলার নির্দিষ্ট করতে পারেন।

এখানে একটি ড্রপডাউন উদাহরণ যা এই তিনটি বিকল্প ব্যবহার করে:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

দেখুন এটি কেমন দেখাচ্ছে:

Tkinter Options মেনু

একটি বিকল্প মেনু , এর বিপরীতে তালিকা ড্রপডাউন, একটি নির্বাচিত বিকল্পে তার লেবেল পরিবর্তন করে।

যদিও আপনি একটি বিকল্প মেনুর জন্য একটি ডিফল্ট লেবেল মান নির্দিষ্ট করতে পারেন, ডিফল্টরূপে এর কোন লেবেল নেই।

সম্পর্কিত: পাইথন প্রজেক্ট আইডিয়াস নতুনদের জন্য উপযুক্ত

এখানে কীভাবে একটি বিকল্প মেনু তৈরি করতে হয় tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Tkinter দিয়ে একটি পুনusব্যবহারযোগ্য ডেস্কটপ অ্যাপ তৈরি করুন

Tkinter এমন একটি বৈশিষ্ট্য সরবরাহ করে যা আপনাকে ইন্টারেক্টিভ GUI ডেস্কটপ অ্যাপস তৈরি করতে সাহায্য করে। যদিও এটিতে অন্যান্য পাইথন জিইউআই মডিউলের মতো অনেক নমনীয় সৌন্দর্যায়ন বৈশিষ্ট্য নাও থাকতে পারে, তবুও এটি অন্বেষণ করার মতো একটি সহজ হাতিয়ার। এবং যখন এখানে উদাহরণগুলি শুধুমাত্র কিছু মৌলিক ধারণা দেখায়, tkinter আরও উন্নত বৈশিষ্ট্যগুলি অফার করে যা আপনি চেষ্টা করতে পারেন।

কিভাবে মাদারবোর্ড আছে তা আমি কিভাবে বলতে পারি?

যে বলেন, আপনি একটি GUI ডেস্কটপ ক্যালকুলেটর তৈরি করতে পারেন, একটি মিনি টেক্সট এডিটর তৈরি করতে পারেন, অথবা এমনকি আপনার জায়গুলি পরিচালনা করতে একটি GUI ডেস্কটপ অ্যাপ তৈরি করতে পারেন। আপনি যদি আপনার ডানা ছড়িয়ে দিতে চান এবং একটি ডেস্কটপ GUI মেজর হতে চান, আপনি পাইথনের অন্যান্য GUI মডিউলগুলিও পরীক্ষা করে দেখতে পারেন।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল জিইউআই? গ্রাফিক ইউজার ইন্টারফেস কি?

আপনি কি একটি GUI ব্যবহার করেন? আপনার সম্ভাবনা আছে কারণ আপনি সেগুলি প্রতিদিন ব্যবহার করেন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • পাইথন
লেখক সম্পর্কে ইডিসু ওমিসোলা(94 নিবন্ধ প্রকাশিত)

আইডোউ স্মার্ট প্রযুক্তি এবং উত্পাদনশীলতা সম্পর্কে উত্সাহী। তার অবসর সময়ে, তিনি বিরক্তিকর যখন কোডিং এবং দাবা বোর্ডে স্যুইচ করে ঘুরে বেড়ান, কিন্তু তিনি রুটিন থেকে বিরতি নিতে পছন্দ করেন। মানুষকে আধুনিক প্রযুক্তির কাছাকাছি পথ দেখানোর জন্য তার আবেগ তাকে আরও লেখার জন্য অনুপ্রাণিত করে।

Idowu Omisola থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন