文本源由嵌套列表中的元素组成。为列表中的每个元素创建一个标签。代码如下:
list1 = [["test", 3, 2, 0], ["test2", 4, 1, 1],["test3", 0, 5, 2]]
row = 1
for i in list1:
text = "name: {}, x: {}, y: {}, z: {}".format(i[0],i[1],i[2],i[3])
customtkinter.CTkLabel(master=self.frame_1, text=text).grid(row=row, column=0, sticky='nw')
row = row + 1
现在我希望 i[3] 有一种颜色。问题是,如何?
最佳答案
最简单的方法是在一个框架中创建多个标签并设置所需标签的颜色。
list1 = [["test", 3, 2, 0], ["test2", 4, 1, 1],["test3", 0, 5, 2]]
row = 1
for i in list1:
label_wrapper = customtkinter.CTkFrame(master = self.frame_1)
label_wrapper.grid(row=row, column=0, sticky='nw')
keys = ["name", "x", "y", "z"]
for n, v in enumerate(i):
text = "{}: {}".format(keys[n], v)
label = customtkinter.CTkLabel(master=label_wrapper, text=text)
if n == 3:
label.configure(fg = "red")
label.grid(row = 0, column = n)
row = row + 1
关于Python - Tkinter 标签中多变量句子中一个变量的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73022390/