鱼C论坛

 找回密码
 立即注册
查看: 80|回复: 2

[已解决]Tkinter 按钮设置焦点

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


欲将第3个按钮设置为焦点!

  1. from tkinter import *
  2. root=Tk()
  3. m=[{"name":"A","hue":"mediumturquoise"},
  4.    {"name":"B","hue":"orchid"},
  5.    {"name":"C","hue":"burlywood"},
  6.    {"name":"D","hue":"goldenrod"}]
  7. for i in range(len(m)) :
  8.      n=Button(root,
  9.               text=m[i]["name"])
  10.      n.pack()
  11. m[2].focus_set()      
  12. mainloop()
复制代码
最佳答案
前天 11:28
from tkinter import *

root = Tk()
m = [
    {"name": "A", "hue": "mediumturquoise"},
    {"name": "B", "hue": "orchid"},
    {"name": "C", "hue": "burlywood"},
    {"name": "D", "hue": "goldenrod"}
]

# 创建一个列表来存储按钮实例
buttons = []

for i in range(len(m)):
    n = Button(root, text=m[i]["name"])
    n.pack()
    buttons.append(n)  # 将按钮添加到列表中

# 设置第三个按钮(索引为2)为焦点
buttons[2].focus_set()

mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 3 天前 | 显示全部楼层
亲爱的鱼油,

您的问题是关于在 Tkinter 中将第三个按钮设置为焦点。您的代码中有几个需要修正的地方:m 应该是一个列表来存储按钮文本,并且在循环中需要正确引用每个按钮的文本。此外,为了设置焦点,您需要存储按钮对象并针对第三个按钮调用 focus_set() 方法。

以下是修正后的代码示例。我假设 m 是一个包含三个按钮文本的列表(例如 ["Button1", "Button2", "Button3"]),但您可以根据实际需求调整。


  1. from tkinter import *

  2. root = Tk()
  3. m = ["Button1", "Button2", "Button3"]  # 定义按钮文本列表
  4. buttons = []  # 创建一个空列表来存储按钮对象

  5. for i in range(len(m)):
  6.     n = Button(root, text=m[i])  # 使用 m[i] 来设置每个按钮的文本
  7.     n.pack()
  8.     buttons.append(n)  # 将按钮对象添加到列表中

  9. # 设置第三个按钮的焦点(索引从0开始,所以索引2对应第三个按钮)
  10. buttons[2].focus_set()

  11. mainloop()
复制代码


关键点:
- 使用列表 buttons 来存储按钮对象,以便后续引用。
- 调用 buttons[2].focus_set() 来将焦点设置到第三个按钮。

如果您的按钮数量或文本不同,请相应修改列表 m 和索引值。希望这能解决您的问题!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 11:28 | 显示全部楼层    本楼为最佳答案   
from tkinter import *

root = Tk()
m = [
    {"name": "A", "hue": "mediumturquoise"},
    {"name": "B", "hue": "orchid"},
    {"name": "C", "hue": "burlywood"},
    {"name": "D", "hue": "goldenrod"}
]

# 创建一个列表来存储按钮实例
buttons = []

for i in range(len(m)):
    n = Button(root, text=m[i]["name"])
    n.pack()
    buttons.append(n)  # 将按钮添加到列表中

# 设置第三个按钮(索引为2)为焦点
buttons[2].focus_set()

mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-19 12:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表