Tkinter - 如何对条目小部件中的某些文本使用选项 'foreground'?
Tkinter - How to use option 'foreground' for some text in Entry widget?
这是我的代码:
from tkinter import *
root = Tk()
root.title("Punctured Convolution Encoder dan Viterbi Decoder")
root.geometry("1350x655+0+0")
frame_input = LabelFrame(root, text="Input")
frame_input.place(x=20, y=10, width=400, height=200)
# input#
lbl_in = Label(frame_input, text="Input", font=("Arial", 16))
lbl_in.place(x=10, y=20)
bin_in = Entry(frame_input, font=('Gill Sans MT', 16))
bin_in.place(x=130, y=20, width=240)
def klik_proses():
bin_in.selection_range(1,2)
bin_in.config(foreground="red")
bin_in.selection_range(4,5)
bin_in.config(foreground="red")
btn_proses = Button(frame_input, text="test", width=12, command=klik_proses)
btn_proses.place(x=140, y=100)
root.mainloop()
结果是,当我按下按钮时,条目小部件中整个文本的颜色都发生了变化。
如何更改条目小部件中某些文本的颜色?
例如:
我在输入框中输入 123456789
,然后我想更改数字 2
和 5
的文本颜色。
所以,有 2 个数字是红色的,其他数字是黑色的。
无法仅更改条目中部分文本的颜色,但可以在使用标签的文本小部件中更改。所以我建议你创建一个单行文本小部件。
这是一个例子:
import tkinter as tk
def change_color():
entry.tag_add('red', '1.1')
entry.tag_add('red', '1.4')
root = tk.Tk()
entry = tk.Text(root, height=1, width=20)
entry.tag_configure('red', foreground='red')
entry.bind('<Return>', lambda e: "break") # prevent newlines
entry.insert('1.0', '123456789')
entry.pack()
tk.Button(root, text='Change color', command=change_color).pack()
root.mainloop()
您可以在 this website 上找到有关文本小部件的更多信息。
这是我的代码:
from tkinter import *
root = Tk()
root.title("Punctured Convolution Encoder dan Viterbi Decoder")
root.geometry("1350x655+0+0")
frame_input = LabelFrame(root, text="Input")
frame_input.place(x=20, y=10, width=400, height=200)
# input#
lbl_in = Label(frame_input, text="Input", font=("Arial", 16))
lbl_in.place(x=10, y=20)
bin_in = Entry(frame_input, font=('Gill Sans MT', 16))
bin_in.place(x=130, y=20, width=240)
def klik_proses():
bin_in.selection_range(1,2)
bin_in.config(foreground="red")
bin_in.selection_range(4,5)
bin_in.config(foreground="red")
btn_proses = Button(frame_input, text="test", width=12, command=klik_proses)
btn_proses.place(x=140, y=100)
root.mainloop()
结果是,当我按下按钮时,条目小部件中整个文本的颜色都发生了变化。 如何更改条目小部件中某些文本的颜色?
例如:
我在输入框中输入 123456789
,然后我想更改数字 2
和 5
的文本颜色。
所以,有 2 个数字是红色的,其他数字是黑色的。
无法仅更改条目中部分文本的颜色,但可以在使用标签的文本小部件中更改。所以我建议你创建一个单行文本小部件。
这是一个例子:
import tkinter as tk
def change_color():
entry.tag_add('red', '1.1')
entry.tag_add('red', '1.4')
root = tk.Tk()
entry = tk.Text(root, height=1, width=20)
entry.tag_configure('red', foreground='red')
entry.bind('<Return>', lambda e: "break") # prevent newlines
entry.insert('1.0', '123456789')
entry.pack()
tk.Button(root, text='Change color', command=change_color).pack()
root.mainloop()
您可以在 this website 上找到有关文本小部件的更多信息。