You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter OptionMenu仅显示单个日期选项的技术求助

解决Tkinter OptionMenu仅显示单个日期的问题

问题出在你创建OptionMenu时的两个错误:

  • 参数顺序错误,把选项值放在了variable参数前面
  • 仅传入了循环结束后最后一个日期的值,没有把所有7天日期作为选项传递

修正后的代码

from tkinter import *
from datetime import datetime, timedelta

master = Tk()

# 生成7天日期并存入列表
date = datetime.now()
date_options = []
for x in range(7):
    d = date - timedelta(days=x)
    date_str = d.strftime("%A %d/%m/%Y")
    date_options.append(date_str)
    print(date_str)

# 创建OptionMenu并传入所有日期选项
variable = StringVar(master)
variable.set("Select Date")  # 默认值
# 正确参数顺序:master, variable, 所有选项(用*解包列表)
w = OptionMenu(master, variable, *date_options)
w.pack()

mainloop()

关键说明

  • 先通过循环将所有生成的日期字符串存入date_options列表,确保保留全部7天的日期数据
  • 创建OptionMenu时,必须遵循master → variable → 所有选项的参数顺序
  • 使用*date_options可以将列表中的每个元素作为单独参数传递给OptionMenu,这样下拉菜单就能显示所有7个日期选项

内容的提问来源于stack exchange,提问作者Gmoss2112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:00:00