首页 文章

Tkinter用热键更改字体

提问于
浏览
-1

新手问题 . 我试图通过热键更改文本小部件中的字体 . 以便按下热键后的文本更改字体而不影响以前的文本 . 我假设这将使用标签完成,但没有找到任何在线解释这些内容的东西 .

1 回答

  • 1

    我不确定你想用什么"hotkey"来改变字体 .
    键盘上的大多数键都是为了改变文本而设计的,所以我认为它是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")
    

相关问题