কম্পিউটার

Tkinter এ স্ক্রোলযোগ্য ক্যানভাসে স্থানাঙ্ক কিভাবে পেতে হয়?


ক্যানভাস উইজেটের দুটি স্থানাঙ্ক ব্যবস্থা রয়েছে:(ক) উইন্ডো স্থানাঙ্ক সিস্টেম এবং (খ) ক্যানভাস সমন্বয় ব্যবস্থা। উইন্ডো কোঅর্ডিনেট সিস্টেম সবসময় উইন্ডোর বাম কোণ (0,0) থেকে শুরু হয়, যখন ক্যানভাস কোঅর্ডিনেট সিস্টেম নির্দিষ্ট করে যে আইটেমগুলি আসলে ক্যানভাসে কোথায় রাখা হয়েছে।

উইন্ডো কোঅর্ডিনেট সিস্টেমকে ক্যানভাস কোঅর্ডিনেট সিস্টেমে রূপান্তর করতে, আমরা নিম্নলিখিত দুটি পদ্ধতি ব্যবহার করতে পারি,

canvasx(event.x)
canvas(event.y)

যদি আমরা উইন্ডো কোঅর্ডিনেট সিস্টেমের ক্ষেত্রে বিবেচনা করি, তাহলে মাউস ইভেন্টগুলি শুধুমাত্র উইন্ডো স্থানাঙ্ক সিস্টেমে ঘটে। আমরা উইন্ডো কোঅর্ডিনেটকে ক্যানভাস কোঅর্ডিনেট সিস্টেমে রূপান্তর করতে পারি।

উদাহরণ

এই অ্যাপ্লিকেশনে, আমরা একটি ক্যানভাস উইজেটের ভিতরে মাউস পয়েন্টারের অবস্থান পাব।

# Import the required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Create a canvas widget
canvas = Canvas(win)
canvas.pack()

def on_button_pressed(event):
   start_x = canvas.canvasx(event.x)
   start_y = canvas.canvasy(event.y)
   print("start_x, start_y =", start_x, start_y)

def on_button_motion(event):
   end_x = canvas.canvasx(event.x)
   end_y = canvas.canvasy(event.y)
   print("end_x, end_y=", end_x, end_y)

# Bind the canvas with Mouse buttons
canvas.bind("<Button-1>", on_button_pressed)
canvas.bind("<Button1-Motion>", on_button_motion)

# Add a Label widget in the window
Label(win, text="Move the Mouse Pointer and click " "anywhere on the Canvas").pack()

win.mainloop()

আউটপুট

উপরের কোডটি চালানো হলে একটি উইন্ডো প্রদর্শিত হবে।

Tkinter এ স্ক্রোলযোগ্য ক্যানভাসে স্থানাঙ্ক কিভাবে পেতে হয়?

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

start_x, start_y = 340.0 159.0

  1. Tkinter ক্যানভাস কিভাবে সাফ করবেন?

  2. কিভাবে Tkinter লেবেল পাঠ্য পেতে?

  3. কিভাবে Tkinter উইজেটের বর্তমান x এবং y স্থানাঙ্কগুলি পেতে হয়?

  4. ক্যানভাস পাইথন টিকিন্টারে কীভাবে একটি চিত্রকে কেন্দ্র করবেন