0
我想知道是否有方法在Tkinter中生成可點擊的文本。也許就像你會在遊戲的標題屏幕上看到的那樣,以及將鼠標懸停在文本上的位置,它會改變顏色/亮度本身。我需要點擊做的是執行另一個功能。Python Tkinter可點擊文本?
這些事情都有可能嗎?謝謝!
我想知道是否有方法在Tkinter中生成可點擊的文本。也許就像你會在遊戲的標題屏幕上看到的那樣,以及將鼠標懸停在文本上的位置,它會改變顏色/亮度本身。我需要點擊做的是執行另一個功能。Python Tkinter可點擊文本?
這些事情都有可能嗎?謝謝!
你正在尋找的Tkinter的事件:
tk_widget.bind("<Button-1>",CALLBACK)
的回調需要採取的事件參數,它是包含有關觸發事件的信息的字典。
這可能會遇到重疊的小部件問題,例如畫布中的窗口或標籤有時會觸發窗口後面的窗口回調。
對於將鼠標懸停一個插件的事件被稱爲"<Enter>"
和移動鼠標移出控件區域中的一個突出顯示文本效果叫"<Leave>"
,如果你只是想隨時隨地捕捉點擊一個窗口,然後在根電話root.bind_all("<Button-1>",CALLBACK)
來源:http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/events.html
例如:
try:
import tkinter as tk
except ImportError:
import Tkinter as tk
def change_case(event=None):
new_text = str.swapcase(lab["text"])
lab.config(text=new_text)
def red_text(event=None):
lab.config(fg="red")
def black_text(event=None):
lab.config(fg="black")
root = tk.Tk()
lab = tk.Label(root,text="this is a test")
lab.bind("<Button-1>",change_case)
lab.bind("<Enter>",red_text)
lab.bind("<Leave>",black_text)
lab.grid()
root.mainloop()
希望這有助於:)
它被稱爲'按鈕'。請參閱:http://effbot.org/tkinterbook/button.htm – furas
是的,這是可能的。有幾種方法可以製作可點擊的文本 - 按鈕,標籤,畫布上的文本,文本小部件上的文本。 –
懸停檢測也是可能的,但需要檢測連續狀態以進行比較。 –