新手问题。我试图通过热键更改文本小部件中的字体。 以便按下热键后的文本更改字体而不影响以前的文本。我假设这将使用标签完成,但没有找到任何在线解释这些内容的东西。
答案 0 :(得分:1)
我不确定你想用什么“热键”来改变字体。
键盘上的大多数键都是为改变文本而设计的,所以我认为它是CTRL +“keyValue”。 ALT +“keyValue”也可以。
在下面显示的此示例中,必须切换CTRL键才能使用热键。热键为“1”,“2”和“3”。
from Tkinter import *
root = Tk()
root.title('Example')
textBox = Text(root, height=2, width=30)
textBox.pack(ipadx = 100, ipady=100)
ctrl_key = False
def key(event):
global ctrl_key
if event.keysym == "Control_L":
ctrl_key = not ctrl_key
if ctrl_key == True:
textBox.configure(state="disabled")
if event.char == "1":
textBox.config(font=("Helvetica"))
if event.char == "2":
textBox.config(font=("Courier"))
if event.char == "3":
textBox.config(font=("Times"))
else:
textBox.configure(state="normal")
root.bind_all('<Key>', key)
root.mainloop()
此行禁用textBox,因此不能再添加任何文本。要启用,只需从“禁用”更改为“正常”。
textBox.configure(state="disabled")