我正在关注PySimpleGUI文档并在进行过程中进行自己的编辑。我对它很陌生,并且有使用 Tkinter 的经验。Tkinter 中有一个文本框,您可以通过代码获取Text(window, width=?, height=?, wrap=WORD, background=yellow)。但是在 PySimpleGUI 中使用类似的代码:layout = [[sg.Text('Some text on Row 1')]]- 创建一个标签。我的代码是:
import PySimpleGUI as sg
sg.theme('DarkAmber') # Add a touch of color
# All the stuff inside your window.
layout = [ [sg.Text('Some text on Row 1')],
[sg.Text('Enter something on Row 2'), sg.InputText()],
[sg.Button('Ok'), sg.Button('Close Window')],
[sg.Text('This is some text', font='Courier 12', text_color='blue', background_color='green')],
[sg.Listbox(values=('value1', 'value2', 'value3'), size=(30, 2), key='_LISTBOX_')]]
# Create the Window
window = …Run Code Online (Sandbox Code Playgroud) 我正在使用 pysimplegui 界面设置程序。
该程序基于用户输入。如果输入格式错误或拼写错误,脚本将崩溃。
现在,当脚本崩溃时,GUI 保持打开状态,没有任何错误迹象。
有没有办法显示弹出警告并告诉用户退出界面并重新启动脚本?
PySimpleGui 文档 don\xe2\x80\x99t 解释了如何实现 table 元素。目前尚不清楚是否可以将标题分配给表格元素以及如何添加行。是否有一个使用表格的简单示例来解释基本功能?
\n我正在基于这个Youtube 教程创建一个搜索引擎,它在 sg.Output 元素中给出搜索结果的输出。我希望每个结果都可单击并在 Windows 文件资源管理器中打开并选择文件。
我的问题出在 PySimpleGUI 输出框(sg.Output)中,我似乎只能有文本。
我怎样才能有带有链接的文本来运行这样的子进程?我的猜测是类似于这里讨论的内容:
sg.Text('Here', is_link=True, key='link') # then link the key to an event
Run Code Online (Sandbox Code Playgroud)
但是,如前所述,如果我向 sg.Output 添加除文本之外的任何内容,它都不起作用,即以下内容不起作用:
sg.window.FindElement('-OUTPUT-').Update(sg.Text('Here', is_link=True, key='link'))
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 PySimpleGUI 在 GUI 中显示图像。我知道我可以在设置 GUI 本身时执行 sg.Image('image_file') ,但我也想调整图像大小。我不知道该怎么做。我尝试过执行 sg.Image(size=(300,300),'image_file') 但这不起作用。提前致谢。
我正在使用 PySimpleGui 制作一个 GUI,我希望我的一个按钮是一个圆圈,一个更大。有没有办法做到这一点?如果是这样,怎么办?我正在使用 TKinter 端口。
我试图让我的 GUI 有 2 个“部分”(一个左一个右),自然地,向布局添加元素只会垂直扩展它,所以我尝试做一个“left_part”布局和一个“right_part”布局,然后将它们与水平分隔符填充合并,但它给了我完全不同的东西。
理想情况下,我想要这样的东西(也许中间也有一条细线):
这是代码:
import PySimpleGUI as sg
left_part = [
[sg.Text("Pick your favorite fruit")],
[sg.Input(size=(25, 1), key="path")],
[sg.FileBrowse(key="fav"), sg.Button("Submit")],
[sg.Image(key="img1")],
[sg.Text("Pick your favorite number")],
[sg.Input(key="num", size=(10,10))],
[sg.Button("Submit")],
]
right_part = [
[sg.Text("Pick your favorite animal")],
[sg.Input(key="animal")],
[sg.Button("Show image of animal")],
[sg.Image(key="img2")]
]
layout = [
[left_part],
[sg.HSeparator(pad=(500,0))],
[right_part],
]
window = sg.Window("Favorites", layout)
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
Run Code Online (Sandbox Code Playgroud) 有没有办法在 PySimpleGUI 的多行小部件中获取光标的位置,存储它并将光标再次放回该小部件文本中的定义位置?
下面你可以看到我到目前为止编写的代码。我的目标是,当在上部窗口中键入“jk”时,光标会向下移动到输入行(有效)。用户可以在那里编写命令并完成输入(我还没有完成)。
现在的问题是如何让上方窗口中的光标跳回原来的位置?!
import PySimpleGUI as sg
layout = [ [sg.Multiline(key = 'editor',
size = (50, 10),
focus = True,
enable_events = True)],
[sg.InputText(key ='command', size = (45, 1), ),], ]
window = sg.Window('editor', layout)
while True:
event, values = window.read()
if 'jk' in values['editor']:
# delete jk and jump down in the command line #
window['editor'].update(values['editor'].replace('jk', ''))
window.Element('command').SetFocus(force = True)
if event in ('Close Window', None):
break
window.close()
Run Code Online (Sandbox Code Playgroud)
任何帮助都是值得赞赏的,因为没有关于在 PySimpleGui 中设置或获取光标位置的文档。提前致谢!
我正在尝试使用 PySimpleGUI 制作 GUI 应用程序。
单击“确认”按钮后,我需要在窗口上显示不同的按钮。
我在第一个布局中使用带有“可见性 false”的按钮来完成此操作,当我单击“确认”按钮时,脚本会更改最初不可见的按钮的可见性。
问题是按钮是可见的,但它们不在一行,而是在同一列。
这是第一个窗口:
更新后的窗口应如下所示:
更新后的窗口如下所示:
这是我的代码:
import PySimpleGUI as sg
sg.theme('DarkAmber')
layout = [
[sg.Text('\n\nText sample', key = '_text_', visible = True)],
[sg.Text('Second sample: ', key = '_text2_'), sg.InputText(key='_IN_', size=(10, 1))],
[sg.Text()],
[sg.Button('Confirm', key = '_CONFIRM_', visible=True),
sg.Button('1', key ='_1_', visible=False),
sg.Button('2', key = '_2_', visible=False),
sg.Button('3', key = '_3_', visible=False),
sg.Cancel('Exit', key = '_EXIT_')],
]
window = sg.Window('Window', layout)
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, '_EXIT_'):
break
elif …Run Code Online (Sandbox Code Playgroud)