下面是来自PySimpleGUI网站的示例代码,我喜欢它输出的GUI,但是我不想让它在单击“提交”时做一个弹出窗口,而是希望它们使用这些值并将其放在命令行上并运行命令
import PySimpleGUI as sg
sg.ChangeLookAndFeel('GreenTan')
form = sg.FlexForm('Everything bagel', default_element_size=(40, 1))
column1 = [[sg.Text('Column 1', background_color='#d3dfda', justification='center', size=(10,1))],
[sg.Spin(values=('Spin Box 1', '2', '3'), initial_value='Spin Box 1')],
[sg.Spin(values=('Spin Box 1', '2', '3'), initial_value='Spin Box 2')],
[sg.Spin(values=('Spin Box 1', '2', '3'), initial_value='Spin Box 3')]]
layout = [
[sg.Text('All graphic widgets in one form!', size=(30, 1), font=("Helvetica", 25))],
[sg.Text('Here is some text.... and a place to enter text')],
[sg.InputText('This is my text')],
[sg.Checkbox('My first checkbox!'), sg.Checkbox('My second checkbox!', default=True)],
[sg.Radio('My first Radio! ', "RADIO1", default=True), sg.Radio('My second Radio!', "RADIO1")],
[sg.Multiline(default_text='This is the default Text should you decide not to type anything', size=(35, 3)),
sg.Multiline(default_text='A second multi-line', size=(35, 3))],
[sg.InputCombo(('Combobox 1', 'Combobox 2'), size=(20, 3)),
sg.Slider(range=(1, 100), orientation='h', size=(34, 20), default_value=85)],
[sg.Listbox(values=('Listbox 1', 'Listbox 2', 'Listbox 3'), size=(30, 3)),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=25),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=75),
sg.Slider(range=(1, 100), orientation='v', size=(5, 20), default_value=10),
sg.Column(column1, background_color='#d3dfda')],
[sg.Text('_' * 80)],
[sg.Text('Choose A Folder', size=(35, 1))],
[sg.Text('Your Folder', size=(15, 1), auto_size_text=False, justification='right'),
sg.InputText('Default Folder'), sg.FolderBrowse()],
[sg.Submit(), sg.Cancel()]
]
button, values = form.Layout(layout).Read()
sg.Popup(button, values)
所以我的问题是sg.Popup ...的最后一行。我可以键入一些内容,而不是将这些值放在命令行中。
很显然,在此示例中,它不是一个创建的命令,但是我最终将改变周围的事物,以便将用户输入转换为我想在命令行上运行的命令,因此在这一点上,我只需要知道如何在命令行而不是弹出窗口上获取所需的值。
答案 0 :(得分:0)
在演示程序中的PySimpleGUI GitHub上查看,您会发现其中的几个展示了如何“启动”脚本或EXE。如果要在窗口中实时查看命令的输出,则this demo program将为您完成该操作。还有一个启动命令但不实时输出到窗口的命令。
以下是将执行的命令实时输出到窗口的程序:
np.take