标签: pysimplegui

在 PySimpleGUI 中制作一个文本框

我正在关注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)

python user-interface tkinter pysimplegui

2
推荐指数
1
解决办法
9837
查看次数

如果脚本崩溃,pysimplegui 如何给出弹出消息?

我正在使用 pysimplegui 界面设置程序。

该程序基于用户输入。如果输入格式错误或拼写错误,脚本将崩溃。

现在,当脚本崩溃时,GUI 保持打开状态,没有任何错误迹象。

有没有办法显示弹出警告并告诉用户退出界面并重新启动脚本?

popup pysimplegui

1
推荐指数
1
解决办法
2714
查看次数

PySimpleGui 显示数据库中的数据

PySimpleGui 文档 don\xe2\x80\x99t 解释了如何实现 table 元素。目前尚不清楚是否可以将标题分配给表格元素以及如何添加行。是否有一个使用表格的简单示例来解释基本功能?

\n

python postgresql pysimplegui

1
推荐指数
1
解决办法
5442
查看次数

在 PySimpleGUI 中,如何在文本字段中拥有超链接?

我正在基于这个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)

python pysimplegui

1
推荐指数
1
解决办法
4068
查看次数

使用 PySimpleGUI 显示图像而无需使用事件侦听器

我正在尝试使用 PySimpleGUI 在 GUI 中显示图像。我知道我可以在设置 GUI 本身时执行 sg.Image('image_file') ,但我也想调整图像大小。我不知道该怎么做。我尝试过执行 sg.Image(size=(300,300),'image_file') 但这不起作用。提前致谢。

python pysimplegui

1
推荐指数
1
解决办法
2万
查看次数

在 PySimpleGui 中创建自定义按钮

我正在使用 PySimpleGui 制作一个 GUI,我希望我的一个按钮是一个圆圈,一个更大。有没有办法做到这一点?如果是这样,怎么办?我正在使用 TKinter 端口。

python user-interface tkinter button pysimplegui

1
推荐指数
1
解决办法
5686
查看次数

如何在 PySimpleGUI 中水平而不是垂直添加元素?

我试图让我的 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)

python layout user-interface separator pysimplegui

1
推荐指数
1
解决办法
4833
查看次数

PySimpleGUI:设置和获取多行小部件中的光标位置?

有没有办法在 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 中设置或获取光标位置的文档。提前致谢!

python position cursor textfield pysimplegui

0
推荐指数
1
解决办法
4017
查看次数

使用 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)

python user-interface tkinter pysimplegui

0
推荐指数
1
解决办法
1万
查看次数