Python - PySimpleGUI - 无法 select 日历输入
Python - PySimpleGUI - Can't select Calendar Input
我正在制作一个非常简单的界面,只需要三个字段。
第一个是文本输入来介绍团队名称,第二个是选择我的团队名称,第三个是日历输入来介绍日期。
为此,我使用以下代码:
import PySimpleGUI as sg
layout = [[sg.Text('Interface', key='-TXT-')]
, [sg.Text('Team ID', size=(15, 1)), sg.InputText(size=(45, 1), key='-team_value-')]
, [sg.Text('Team Name', size=(15, 1),), sg.InputText(size=(45, 1), key='-team_name_value-')]
, [sg.Input(key='-IN4-', size=(20,1)), sg.CalendarButton('Calendar', target='-IN4-', default_date_m_d_y=(1,None,2020), )]
, [sg.Button('Introduce'), sg.Button('Search'), sg.Button('End'), sg.Button('Date Popup'), sg.Button('Cancel')]]
window = sg.Window('window', layout)
text_elem = window['-TXT-']
while True:
event, values = window.read()
print(event, values)
if event in (sg.WIN_CLOSED, 'Cancel'):
break
elif event == 'Date Popup':
sg.popup('You chose:', sg.popup_get_date())
window.close()
但是,当我打开我的日历日期时,我无法 select 任何日期,它只会打开日历并保持静态,并且不允许我选择任何日期。
我做错了什么?
谢谢
我遇到了同样的问题。解决方案是不使用默认主题。在您的 'layout' 声明上方设置一个新主题:
sg.theme("Dark Blue 3")
layout = [...]
或者,您可以创建自己的主题。日历使用“文本”颜色为日期数字着色并突出显示日历的第一行。
my_new_theme = {'BACKGROUND': '#ececec',
'TEXT': 'black',
'INPUT': 'white',
'TEXT_INPUT': 'black',
'SCROLL': 'white',
'BUTTON': ('black', 'white'),
'PROGRESS': ('#0091ff', '#D0D0D0'),
'BORDER': 1,
'SLIDER_DEPTH': 0,
'PROGRESS_DEPTH': 0}
sg.theme_add_new('my_custom_theme', my_new_theme)
sg.theme('my_custom_theme')
layout = [...]
我正在制作一个非常简单的界面,只需要三个字段。 第一个是文本输入来介绍团队名称,第二个是选择我的团队名称,第三个是日历输入来介绍日期。
为此,我使用以下代码:
import PySimpleGUI as sg
layout = [[sg.Text('Interface', key='-TXT-')]
, [sg.Text('Team ID', size=(15, 1)), sg.InputText(size=(45, 1), key='-team_value-')]
, [sg.Text('Team Name', size=(15, 1),), sg.InputText(size=(45, 1), key='-team_name_value-')]
, [sg.Input(key='-IN4-', size=(20,1)), sg.CalendarButton('Calendar', target='-IN4-', default_date_m_d_y=(1,None,2020), )]
, [sg.Button('Introduce'), sg.Button('Search'), sg.Button('End'), sg.Button('Date Popup'), sg.Button('Cancel')]]
window = sg.Window('window', layout)
text_elem = window['-TXT-']
while True:
event, values = window.read()
print(event, values)
if event in (sg.WIN_CLOSED, 'Cancel'):
break
elif event == 'Date Popup':
sg.popup('You chose:', sg.popup_get_date())
window.close()
但是,当我打开我的日历日期时,我无法 select 任何日期,它只会打开日历并保持静态,并且不允许我选择任何日期。
我做错了什么?
谢谢
我遇到了同样的问题。解决方案是不使用默认主题。在您的 'layout' 声明上方设置一个新主题:
sg.theme("Dark Blue 3")
layout = [...]
或者,您可以创建自己的主题。日历使用“文本”颜色为日期数字着色并突出显示日历的第一行。
my_new_theme = {'BACKGROUND': '#ececec',
'TEXT': 'black',
'INPUT': 'white',
'TEXT_INPUT': 'black',
'SCROLL': 'white',
'BUTTON': ('black', 'white'),
'PROGRESS': ('#0091ff', '#D0D0D0'),
'BORDER': 1,
'SLIDER_DEPTH': 0,
'PROGRESS_DEPTH': 0}
sg.theme_add_new('my_custom_theme', my_new_theme)
sg.theme('my_custom_theme')
layout = [...]