本文整理匯總了Python中PySimpleGUI.Combo方法的典型用法代碼示例。如果您正苦於以下問題:Python PySimpleGUI.Combo方法的具體用法?Python PySimpleGUI.Combo怎麽用?Python PySimpleGUI.Combo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PySimpleGUI
的用法示例。
在下文中一共展示了PySimpleGUI.Combo方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: create_settings_window
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def create_settings_window(settings):
sg.theme(settings['theme'])
def TextLabel(text): return sg.Text(text+':', justification='r', size=(15,1))
layout = [ [sg.Text('Settings', font='Any 15')],
[TextLabel('Max Users'), sg.Input(key='-MAX USERS-')],
[TextLabel('User Folder'),sg.Input(key='-USER FOLDER-'), sg.FolderBrowse(target='-USER FOLDER-')],
[TextLabel('Zipcode'),sg.Input(key='-ZIPCODE-')],
[TextLabel('Theme'),sg.Combo(sg.theme_list(), size=(20, 20), key='-THEME-')],
[sg.Button('Save'), sg.Button('Exit')] ]
window = sg.Window('Settings', layout, keep_on_top=True, finalize=True)
for key in SETTINGS_KEYS_TO_ELEMENT_KEYS: # update window with the values read from settings file
try:
window[SETTINGS_KEYS_TO_ELEMENT_KEYS[key]].update(value=settings[key])
except Exception as e:
print(f'Problem updating PySimpleGUI window from settings. Key = {key}')
return window
########################################## Main Program Window & Event Loop ##########################################
示例2: lbas_group_node_line_generator
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def lbas_group_node_line_generator(cls, group_id):
return [
sg.Text(f'LBAS Group {group_id}', **cls.LABEL_SETTINGS),
sg.Checkbox(
'Enabled',
key=f'combat.lbas_group_{group_id}.enabled',
font=cls.FONT_10,
enable_events=True),
sg.Combo(
[''] + [x.display_name for x in NamedNodeEnum],
key=f'combat.lbas_group_{group_id}_node_1',
font=cls.FONT_10,
size=(4, 1)),
sg.Combo(
[''] + [x.display_name for x in NamedNodeEnum],
key=f'combat.lbas_group_{group_id}_node_2',
font=cls.FONT_10,
size=(4, 1)),
cls.generate_clear_btn(
f'combat.lbas_group_{group_id}_nodes')]
示例3: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls):
return sg.Column(
[
[
sg.Text('PvP Module', **cls.LABEL_SETTINGS),
sg.Checkbox(
'Enabled',
key='pvp.enabled',
enable_events=True)
],
[
sg.Text('Fleet Preset', **cls.LABEL_SETTINGS),
sg.Combo(
[''] + [x for x in range(1, MAX_FLEET_PRESETS + 1)],
key='pvp.fleet_preset',
font=cls.FONT_10,
size=(13, 1))
]
],
key='config_pvp_col',
visible=False)
示例4: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, presets):
return [
[
sg.Text('Combat Fleet Presets', font=cls.FONT_10),
],
[
sg.Listbox(
key='presets',
values=presets,
font=cls.FONT_10,
size=(19, 6),
enable_events=True),
],
[
cls.generate_remove_btn('presets', 'remove preset'),
cls.generate_clear_btn('presets', 'clear presets'),
],
[
sg.Combo(
[str(x) for x in range(1, 15) if str(x) not in presets],
key='preset_combo',
font=cls.FONT_10,
size=(13, 1)),
cls.generate_add_btn('presets', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例5: Launcher
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def Launcher():
# def print(line):
# window.FindElement('output').Update(line)
sg.ChangeLookAndFeel('Dark')
namesonly = [f for f in os.listdir(ROOT_PATH) if f.endswith('.py') ]
if len(namesonly) == 0:
namesonly = ['test 1', 'test 2', 'test 3']
sg.SetOptions(element_padding=(0,0), button_element_size=(12,1), auto_size_buttons=False)
layout = [[sg.Combo(values=namesonly, size=(35,30), key='demofile'),
sg.Button('Run', button_color=('white', '#00168B')),
sg.Button('Program 1'),
sg.Button('Program 2'),
sg.Button('Program 3', button_color=('white', '#35008B')),
sg.Button('EXIT', button_color=('white','firebrick3'))],
[sg.T('', text_color='white', size=(50,1), key='output')]]
window = sg.Window('Floating Toolbar', no_titlebar=True, grab_anywhere=True, keep_on_top=True).Layout(layout)
# ---===--- Loop taking in user input and executing appropriate program --- #
while True:
(event, values) = window.Read()
if event == 'EXIT' or event is None:
break # exit button clicked
if event == 'Program 1':
print('Run your program 1 here!')
elif event == 'Program 2':
print('Run your program 2 here!')
elif event == 'Run':
file = values['demofile']
print('Launching %s'%file)
ExecuteCommandSubprocess('python', os.path.join(ROOT_PATH, file))
else:
print(event)
示例6: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, fleet_id, expeditions, other_expeditions):
return [
[
sg.Text(
f'Fleet {fleet_id} Expeditions',
font=cls.FONT_10),
],
[
sg.Listbox(
key='expeditions',
values=expeditions,
font=cls.FONT_10,
size=(34, 5),
enable_events=True)
],
[
cls.generate_remove_btn(
'expeditions', 'remove selected expedition', size=(20, 1)),
cls.generate_clear_btn(
'expeditions', 'clear expeditions', size=(20, 1)),
],
[
sg.Combo(
[
x.display_name for x in ExpeditionEnum
if x.display_name
not in expeditions + other_expeditions],
key='expedition_combo',
font=cls.FONT_10,
size=(28, 1)),
cls.generate_add_btn('expeditions', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例7: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls):
return sg.Column(
[
[
sg.Text('JST Offset', **cls.LABEL_SETTINGS),
sg.Spin(
[x for x in range(MIN_JST_OFFSET, MAX_JST_OFFSET + 1)],
0,
key='general.jst_offset',
font=cls.FONT_10,
size=(3, 1),
enable_events=True)
],
[
sg.Text('Interaction Mode', **cls.LABEL_SETTINGS),
sg.Combo(
[x.display_name for x in InteractionModeEnum],
key='general.interaction_mode',
font=cls.FONT_10,
size=(13, 1))
],
[
sg.Text('Chrome Dev Port', **cls.LABEL_SETTINGS),
sg.Spin(
[x for x in range(MIN_PORT, MAX_PORT + 1)],
DEFAULT_CHROME_DEV_PORT,
key='general.chrome_dev_port',
font=cls.FONT_10,
size=(5, 1),
enable_events=True)
]
],
key='config_general_col',
visible=True)
示例8: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls):
return sg.Column(
[
[
sg.Text('Passive Repair', **cls.LABEL_SETTINGS),
sg.Checkbox(
'Enabled',
key='passive_repair.enabled',
enable_events=True)
],
[
sg.Text('Repair Threshold', **cls.LABEL_SETTINGS),
sg.Combo(
[
x.display_name for x in DamageStateEnum
if x in cls.VALID_DAMAGE_STATES],
default_value=DamageStateEnum.SCRATCH.display_name,
key='passive_repair.repair_threshold',
font=cls.FONT_10,
size=(13, 1))
],
[
sg.Text('Slots to Reserve', **cls.LABEL_SETTINGS),
sg.Spin(
[x for x in range(
cls.MIN_SLOTS_RESERVED,
cls.MAX_SLOTS_RESERVED + 1)],
0,
key='passive_repair.slots_to_reserve',
font=cls.FONT_10,
size=(5, 1))
]
],
key='config_passive_repair_col',
visible=False)
示例9: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, node_formations):
return [
[
sg.Text('Node Formations', font=cls.FONT_10),
],
[
sg.Listbox(
key='node_formations',
values=node_formations,
font=cls.FONT_10,
size=(32, 6),
enable_events=True),
],
[
cls.generate_remove_btn(
'node_formations', 'remove node formation'),
cls.generate_clear_btn(
'node_formations', 'clear node formations'),
],
[
sg.Combo(
[
x.display_name for x in NodeEnum
if x.display_name
not in [y.split(':')[0] for y in node_formations]],
key='node_combo',
font=cls.FONT_10,
size=(4, 1)),
sg.Text(' to ', font=cls.FONT_10),
sg.Combo(
[x.display_name for x in FormationEnum],
key='formation_combo',
font=cls.FONT_10,
size=(15, 1)),
cls.generate_add_btn('node_formations', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例10: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, nodes):
return [
[
sg.Text('Push Nodes', font=cls.FONT_10),
],
[
sg.Listbox(
key='nodes',
values=nodes,
font=cls.FONT_10,
size=(19, 6),
enable_events=True),
],
[
cls.generate_remove_btn('nodes', 'remove node'),
cls.generate_clear_btn('nodes', 'clear nodes'),
],
[
sg.Combo(
[
x.display_name for x in NamedNodeEnum
if x.display_name not in nodes],
key='node_combo',
font=cls.FONT_10,
size=(13, 1)),
cls.generate_add_btn('nodes', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例11: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, nodes):
return [
[
sg.Text('Retreat Nodes', font=cls.FONT_10),
],
[
sg.Listbox(
key='nodes',
values=nodes,
font=cls.FONT_10,
size=(19, 6),
enable_events=True),
],
[
cls.generate_remove_btn('nodes', 'remove node'),
cls.generate_clear_btn('nodes', 'clear nodes'),
],
[
sg.Combo(
[
x.display_name for x in NodeEnum
if x.display_name not in nodes],
key='node_combo',
font=cls.FONT_10,
size=(13, 1)),
cls.generate_add_btn('nodes', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例12: get_layout
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def get_layout(cls, node_nb):
return [
[
sg.Text('Node Night Battles', font=cls.FONT_10),
],
[
sg.Listbox(
key='node_nb',
values=node_nb,
font=cls.FONT_10,
size=(28, 6),
enable_events=True),
],
[
cls.generate_remove_btn('node_nb', 'remove node night battle'),
cls.generate_clear_btn('node_nb', 'clear node night battles'),
],
[
sg.Combo(
[
x.display_name for x in NamedNodeEnum
if x.display_name
not in [y.split(':')[0] for y in node_nb]],
key='node_combo',
font=cls.FONT_10,
size=(4, 1)),
sg.Text(' to ', font=cls.FONT_10),
sg.Combo(
[True, False],
key='nb_combo',
font=cls.FONT_10,
size=(5, 1)),
cls.generate_add_btn('node_nb', 'add', size=(5, 1)),
],
[
sg.Button('Save and Close', key='save'),
sg.Button('Cancel', key='cancel'),
]
]
示例13: main
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def main():
MLINE_KEY = '-ML-'+sg.WRITE_ONLY_KEY # multiline element's key. Indicate it's an output only element
MLINE_KEY2 = '-ML2-'+sg.WRITE_ONLY_KEY # multiline element's key. Indicate it's an output only element
MLINE_KEY3 = '-ML3-'+sg.WRITE_ONLY_KEY # multiline element's key. Indicate it's an output only element
output_key = MLINE_KEY
layout = [ [sg.Text('Multiline Color Print Demo', font='Any 18')],
[sg.Multiline('Multiline\n', size=(80,20), key=MLINE_KEY)],
[sg.Multiline('Multiline2\n', size=(80,20), key=MLINE_KEY2)],
[sg.Text('Text color:'), sg.Combo(list(color_map.keys()), size=(12,20), key='-TEXT COLOR-'),
sg.Text('on Background color:'), sg.Combo(list(color_map.keys()), size=(12,20), key='-BG COLOR-')],
[sg.Input('Type text to output here', size=(80,1), key='-IN-')],
[sg.Button('Print', bind_return_key=True), sg.Button('Print short'),
sg.Button('Force 1'), sg.Button('Force 2'),
sg.Button('Use Input for colors'), sg.Button('Toggle Output Location'), sg.Button('Exit')] ]
window = sg.Window('Window Title', layout)
sg.cprint_set_output_destination(window, output_key)
while True: # Event Loop
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break
if event == 'Print':
sg.cprint(values['-IN-'], text_color=values['-TEXT COLOR-'], background_color=values['-BG COLOR-'])
elif event == 'Print short':
sg.cprint(values['-IN-'], c=(values['-TEXT COLOR-'], values['-BG COLOR-']))
elif event.startswith('Use Input'):
sg.cprint(values['-IN-'], colors=values['-IN-'])
elif event.startswith('Toggle'):
output_key = MLINE_KEY if output_key == MLINE_KEY2 else MLINE_KEY2
sg.cprint_set_output_destination(window, output_key)
sg.cprint('Switched to this output element', c='white on red')
elif event == 'Force 1':
sg.cprint(values['-IN-'], c=(values['-TEXT COLOR-'], values['-BG COLOR-']), key=MLINE_KEY)
elif event == 'Force 2':
sg.cprint(values['-IN-'], c=(values['-TEXT COLOR-'], values['-BG COLOR-']), key=MLINE_KEY2)
window.close()
示例14: DownloadSubtitlesGUI
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def DownloadSubtitlesGUI():
sg.theme('Dark')
combobox = sg.Combo(values=['', ], size=(10, 1), key='lang')
layout = [
[sg.Text('Subtitle Grabber', size=(40, 1), font=('Any 15'))],
[sg.Text('YouTube Link'), sg.Input(default_text='', size=(60, 1), key='link')],
[sg.Output(size=(90, 20), font='Courier 12')],
[sg.Button('Get List')],
[sg.Text('Language Code'), combobox, sg.Button('Download')],
[sg.Button('Exit', button_color=('white', 'firebrick3'))]
]
window = sg.Window('Subtitle Grabber launcher', layout,
text_justification='r',
default_element_size=(15, 1),
font=('Any 14'))
# ---===--- Loop taking in user input and using it to query HowDoI --- #
while True:
event, values = window.read()
if event in ('Exit', None):
break # exit button clicked
link = values['link']
if event == 'Get List':
print('Getting list of subtitles....')
window.refresh()
command = [youtube_executable + f' --list-subs {link}']
output = ExecuteCommandSubprocess(command, wait=True, quiet=True)
lang_list = [o[:5].rstrip()
for o in output.split('\n') if 'vtt' in o]
lang_list = sorted(lang_list)
combobox.update(values=lang_list)
print('Done')
elif event == 'Download':
lang = values['lang'] or 'en'
print(f'Downloading subtitle for {lang}...')
window.refresh()
command = [youtube_executable + f' --sub-lang {lang} --write-sub {link}', ]
print(ExecuteCommandSubprocess(command, wait=True, quiet=False))
print('Done')
window.close()
示例15: Launcher
# 需要導入模塊: import PySimpleGUI [as 別名]
# 或者: from PySimpleGUI import Combo [as 別名]
def Launcher():
sg.theme('Dark')
namesonly = [f for f in os.listdir(ROOT_PATH) if f.endswith('.py')]
if len(namesonly) == 0:
namesonly = ['test 1', 'test 2', 'test 3']
sg.set_options(element_padding=(0, 0),
button_element_size=(12, 1), auto_size_buttons=False)
layout = [[sg.Combo(values=namesonly, size=(35, 30), key='demofile'),
sg.Button('Run', button_color=('white', '#00168B')),
sg.Button('Program 1'),
sg.Button('Program 2'),
sg.Button('Program 3', button_color=('white', '#35008B')),
sg.Button('EXIT', button_color=('white', 'firebrick3'))],
[sg.Text('', text_color='white', size=(50, 1), key='output')]]
window = sg.Window('Floating Toolbar',
layout,
no_titlebar=True,
grab_anywhere=True,
keep_on_top=True)
# ---===--- Loop taking in user input and executing appropriate program --- #
while True:
event, values = window.read()
if event == 'EXIT' or event == sg.WIN_CLOSED:
break # exit button clicked
if event == 'Program 1':
print('Run your program 1 here!')
elif event == 'Program 2':
print('Run your program 2 here!')
elif event == 'Run':
file = values['demofile']
print('Launching %s' % file)
ExecuteCommandSubprocess('python', os.path.join(ROOT_PATH, file))
else:
print(event)
window.close()