簡體   English   中英

懸停在部分框架TKinter上時更改光標

[英]Change Cursor when Hovering Over Part of Frame TKinter

將鼠標懸停在框架的特定部分上時,如何更改光標? 我正在嘗試制作一個背景圖像,當有人將鼠標懸停在某個特定部分上時,如果單擊該部分,將更改框架,光標將更改為信號,表示單擊它們就會發生交互。

class Map(Frame):
    def __init__(self, master, controller, *args, **kwargs):
        Frame.__init__(self, master)
        self.controller = controller
        #keep player data stored at all times
        self.player = Player.Player()
        # define map gui here
        #repack this frame so binding included
        self.map_picture = PhotoImage(file=r"images/rsz_archipelago.gif")
        self.image = Label(self, image=self.map_picture)
        self.image.bind("<Button-1>", self.check_for_spot)
        self.image.grid(row=0, column=0, columnspan=40, rowspan=40)

        self.places = {MapRectange(420,490,175, 205):Hydra_Level}


    def check_for_spot(self, event):
        x1, y1 = event.x, event.y
        pt = Point(x1,y1)
        print("X: " + str(x1) + "  Y: " + str(y1))
        for place, level in self.places.iteritems():
            if place.point_is_in(pt):
                self.controller.show(level, self)
                break

獲取光標坐標:

import Tkinter as tk
from Tkinter import Frame
root = tk.Tk()
frame1 = Frame(root, bg='blue',width='100px', height='100px')
frame1.pack()

def motion(event):
    x, y = event.x, event.y
    print('{}, {}'.format(x, y))


frame1.bind('<Motion>', motion)
root.mainloop()

您將在控制台中看到移動光標時的坐標,然后可以定義范圍並根據光標或圖像進行更改...請參考http://effbot.org/tkinterbook/,此處提供了出色的文檔在python Tkinter上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM