我想更改由for loop
创建的某些标签上的配置,但不知道如何调用标签。我的代码如下:
hand_info_labels = [
'Hand Info', str(self.sb), 'Players',
str(self.sb), 'Pre-flop', str(self.sb),
'Flop', str(self.sb), 'Turn',
str(self.sb), 'River', str(self.sb)]
for label in hand_info_labels:
ttk.Label(
hh_lblfrm, text=label).grid(
column=0, sticky=tk.W)
如何称呼这些标签?我在想类似hand_info_labels['Hand Info'].config(font=("Courier", 44))
答案 0 :(得分:1)
如果所有标签都不相同,最简单的方法是将每个标签小部件保存到dict,然后可以使用该dict指定任何标签。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
hh_lblfrm = tk.Frame(root)
hh_lblfrm.grid()
hand_info_labels = ['Hand Info', 'Players', 'Turn', 'River']
label_dict = {}
for row, label in enumerate(hand_info_labels):
widget = ttk.Label(hh_lblfrm, text=label)
widget.grid(row=row, column=0, sticky=tk.W)
label_dict[label] = widget
# Test to change config on one of the labels
label_dict['Players'].config(background='salmon')
如果要更改标签列表,可以使用循环:
# Test to change config on list of labels
widgets_to_change = ['Hand Info', 'Turn']
for widget in widgets_to_change:
label_dict[widget].config(background='khaki')
如果某些标签相同,则可以使用列表代替,但是您必须记住每个标签的索引。