Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Tkinter में स्क्रॉलेबल कैनवास पर कोऑर्डिनेट्स कैसे प्राप्त करें?

कैनवास विजेट में दो कोऑर्डिनेट सिस्टम होते हैं: (ए) विंडो कोऑर्डिनेट सिस्टम और (बी) कैनवास कोऑर्डिनेट सिस्टम। विंडो कोऑर्डिनेट सिस्टम हमेशा विंडो में बाएं कोने (0,0) से शुरू होता है, जबकि कैनवास कोऑर्डिनेट सिस्टम निर्दिष्ट करता है कि आइटम वास्तव में कैनवास में कहां रखे गए हैं।

विंडो कोऑर्डिनेट सिस्टम को कैनवास कोऑर्डिनेट सिस्टम में बदलने के लिए, हम निम्नलिखित दो मेथड्स का उपयोग कर सकते हैं,

canvasx(event.x)
canvasy(event.y)

यदि हम विंडो कोऑर्डिनेट सिस्टम के मामले पर विचार करते हैं, तो माउस इवेंट्स केवल विंडो कोऑर्डिनेट सिस्टम में होते हैं। हम विंडो कोऑर्डिनेट को कैनवास कोऑर्डिनेट सिस्टम में बदल सकते हैं।

उदाहरण

इस एप्लिकेशन में, हम कैनवास विजेट के अंदर माउस पॉइंटर की स्थिति प्राप्त करेंगे।

# आवश्यक लाइब्रेरी आयात करें
from tkinter import *

# Tkinter फ्रेम या विंडो का इंस्टेंस बनाएं
win = Tk()

# विंडो का आकार सेट करें
win.geometry("700x350")

# कैनवास विजेट बनाएं
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)

# माउस बटन्स के साथ कैनवास बाइंड करें
canvas.bind("", on_button_pressed)
canvas.bind("", on_button_motion)

# विंडो में लेबल विजेट जोड़ें
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 लेबल टेक्स्ट कैसे प्राप्त करें? Tkinter लेबल टेक्स्ट कैसे प्राप्त करें?

    Tkinter लेबल्स विंडो पर टेक्स्ट या इमेजेज बनाने और डिस्प्ले करने के लिए उपयोग किए जाते हैं। इसमें कई कंपोनेंट्स और फंक्शन्स हैं जिनका उपयोग लेबल जानकारी जैसे फॉन्टफैमिली, पैडिंग, चौड़ाई, ऊंचाई आदि को कस्टमाइज़ करने के लिए किया जा सकता है। विंडो पर लेबल टेक्स्ट प्राप्त करने के लिए, हम उस टेक्स्ट के

  1. Tkinter Widget के Current X और Y Coordinates कैसे प्राप्त करें? Tkinter Widget के Current X और Y Coordinates कैसे प्राप्त करें?

    Tkinter GUI based applications बनाने के लिए व्यापक रूप से उपयोग किया जाता है। इसमें कई toolkits और functions या modules उपलब्ध हैं जिनका उपयोग किसी particular application के विभिन्न attributes को define करने के लिए किया जा सकता है। GUI applications बनाने के लिए यह buttons, text boxes और labels सहित

  1. Python Tkinter में Canvas पर Image Center कैसे करें? Python Tkinter में Canvas पर Image Center कैसे करें?

    मान लीजिए हम Tkinter का उपयोग करके GUI-based एप्लिकेशन बना रहे हैं और हम Tkinter canvas में एक image load करना चाहते हैं। Default रूप से, canvas images को इसकी width और height के अनुसार load करता है। हालांकि, हम Direction value को anchor parameter में pass करके किसी भी direction (N, S, E, W, NS, EW,