如何在PySimpleGUI中创建包含年份范围的下拉菜单
在PySimpleGUI中创建年份范围下拉菜单
你可以直接用Python的range()函数生成连续的年份序列,传给sg.Combo组件,完全不需要手动编写年份列表,也不用sg.CalendarButton。
核心思路是利用range的左闭右开特性,定义起始和结束年份,生成对应的年份范围。以下是完整的可运行代码:
import PySimpleGUI as sg # 自定义年份范围,这里示例为2000到2025(包含2025) start_year = 2000 end_year = 2025 layout = [ [sg.Text('选择年份:'), sg.Combo( range(start_year, end_year + 1), # 生成从start_year到end_year的所有年份 size=(6, 1), font=("Helvetica", 10), key='Dates' )], [sg.Button('确认'), sg.Button('退出')] ] window = sg.Window('年份选择器', layout) while True: event, values = window.read() if event == sg.WIN_CLOSED or event == '退出': break if event == '确认': sg.popup(f'你选择的年份是:{values["Dates"]}') window.close()
关键说明:
range(start_year, end_year + 1):由于range是左闭右开区间,若要包含end_year,结束参数需要设置为end_year + 1- 直接将
range对象传入sg.Combo即可,PySimpleGUI会自动迭代生成下拉选项 - 只需修改
start_year和end_year的数值,就能快速调整年份范围
内容的提问来源于stack exchange,提问作者PyiPath2022
相关产品推荐
相关产品推荐

