我正在使用 PySimpleGUI,我想在其中更新单选按钮。根据文档,单选按钮有一个更新方法。但不知怎的,它不能正常工作。
我编写了以下代码,该代码应将单选按钮的值从 Test 更新为 NewTest。结果依然是Test。
使用的代码如下:
import PySimpleGUI as sg
layout1 = [[sg.Radio('Test', "RADIO1", key='_RADIO1_', default=True, font=50)],
[sg.Button('Ok', font=50), sg.Button('Stop', font=50)]]
window = sg.Window('Read').Layout(layout1).Finalize()
while True:
window.Element('_RADIO1_').Update('NewTest')
button, values = window.Read()
exit()
Run Code Online (Sandbox Code Playgroud) 我正在使用 Pysimplegui 在执行事件后在 for 循环中输出一些文本。但是,当 for 循环结束时,我只能一次看到所有文本。当 for 循环运行时我看不到它。图形用户界面显示“未响应”(但正在运行)。知道如何解决这个问题吗?
当我有一个 for 循环并且在 for 循环中运行的事件需要时间来执行时,这似乎会发生。下面是我的代码。
import PySimpleGUI as sg
import time
def excecutetest(command):
for i in range(5):
print (command + str(i))
time.sleep(2)
layout = [
[sg.Text('Information:', size=(40, 1))],
[sg.Output(size=(88, 20))],
[sg.Text('Input:', size=(15, 1)), sg.InputText(focus=True), sg.Button('Run', bind_return_key=True)],
[sg.Button('EXIT')]
]
window = sg.Window('testing', layout)
# ---===--- Loop taking in user input and using it to call scripts --- #
while True:
(event, value) = window.Read()
if event == 'EXIT' or event is None: …
Run Code Online (Sandbox Code Playgroud) 我是 Python 的初学者,更是 PySimpleGui 的初学者,我非常喜欢使用它来创建带有 GU 界面的小型应用程序。我遇到的问题是关于表格元素的。到目前为止,我已成功使用 sqlite 数据库中的数据填充表元素。一旦表格准备好数据,我就可以突出显示特定行。由于我不知道表元素触发了任何事件,因此我放置了一个按钮,在选择一行后单击该按钮,然后执行与单击事件关联的代码。表格准备好,选择行,单击按钮,现在,如何获取整个行值?我尝试了“values[' mytable ']”,但结果有点像表索引。我想要一个值列表。是否可以 ?谢谢你的帮助。
布局:
data_values = []
data_headings = ['File ID', 'Type', 'Description', 'Remarks']
data_values.append(['', '', '', ''])
data_cols_width = [5, 8, 35, 35]
tab5_layout = [
[sg.Table(values=data_values, headings=data_headings,
max_col_width=65,
col_widths=data_cols_width,
auto_size_columns=False,
justification='left',
num_rows=6, key='_filestable_')],
[sg.Button('Select Row', key='_rowselected_')]
Run Code Online (Sandbox Code Playgroud)
事件:
if event == '_rowselected_':
te1 = values['_filestable_']
print('Event triggered : ', te1)
Run Code Online (Sandbox Code Playgroud) 第一次尝试 PySimpleGui,想要创建一个 exec 程序,允许用户将目录/文件移动或复制到他们选择的目的地,但并不真正了解如何将操作链接到按钮。
我当前的程序如下所示:
import PySimpleGUI as sg
import shutil, errno
src = ""
dest = ""
def copy(src, dest):
try:
shutil.copytree(src, dest)
except OSError as e:
# If the error was caused because the source wasn't a directory
if e.errno == errno.ENOTDIR:
shutil.copy(src, dest)
else:
print('Directory not copied. Error: %s' % e)
#Me testing out commands in PSG
layout = [[ sg.Text("Select path from source to
destination")],
[sg.Text("Source Folder", size=(15,1)), sg.InputText(src),
sg.FolderBrowse()],
[sg.Text("Destination Folder", size=(15,1)),
sg.InputText(dest), sg.FolderBrowse()],
[sg.Button("Transfer", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 PySimpleGUI 创建一个 GUI,其中包含许多复选框,并向右滚动,允许我四处移动。我希望我的 GUI 通过许多复选框来保持其大小。
\n\n这是我的代码:
\n\nform = sg.FlexForm("Dynamic Combo")\nlayout = [[sg.Text(\'<-- Enlazar Clientes con P\xc3\xa1ginas web -->\')],\n [sg.Text(\'Dominio: \')], [sg.InputText()],\n [sg.Text(\'URL del Cliente: (con http:// o https://)\')], [sg.InputText()],\n [sg.Button("SELECCIONAR TODOS")], \n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Checkbox("something")], [sg.Checkbox("something")],\n [sg.Text(\'\')],\n [sg.Submit(\'Ejecutar\'), sg.Cancel(\'Salir\')]\n]\n\nform = sg.Window(\'Enlazador de P\xc3\xa1ginas Web\').Layout(layout)\n
Run Code Online (Sandbox Code Playgroud)\n\n我该怎么做?我听说 sg.Column 允许我做类似的事情,但我尝试实现它,但没有取得任何成果。
\n在我的应用程序中,我试图将我的按钮、文本和输入放在窗口的中心。我使用PySimpleGUI来设计按钮。为了对齐中心,我justification='center'
在我的代码中使用了属性。但它仍然不适合中心窗户。
正在使用的代码是
import PySimpleGUI as sg
from tkinter import *
sg.theme('DarkAmber')
layout = [
[sg.Text('Enter the value',justification='center')],
[sg.Input(justification='center')],
[sg.Button('Enter','center')]
]
window = sg.Window('My new window', layout, size=(500,300), grab_anywhere=True)
while True:
event, values = window.read() # Read the event that happened and the values dictionary
print(event, values)
if event == sg.WIN_CLOSED or event == 'Exit': # If user closed window with X or if user clicked "Exit" button then exit
break
if event == 'Button': …
Run Code Online (Sandbox Code Playgroud) 在 PySimpleGUI 中调整窗口大小时如何收到通知?
我有一个可以启用调整大小事件的窗口,但我没有找到在发生调整大小时移动元素的方法,因此当窗口更改大小时,我的窗口将左上角居中重命名为相同的大小。
这是基本代码:
import PySimpleGUI as sg
layout = [[sg.Button('Save')]]
window = sg.Window('Window Title',
layout,
default_element_size=(12, 1),
resizable=True) # this is the change
while True:
event, values = window.read()
if event == 'Save':
print('clicked save')
if event == sg.WIN_MAXIMIZED: # I just made this up, and it does not work. :)
window.maximize()
if event == sg.WIN_CLOSED:
break
Run Code Online (Sandbox Code Playgroud) 今天是个好日子。当选择第一个 Combo 中的 json 元素时,有没有办法在第二个 Combo 中动态添加 json 值?
import json
import PySimpleGUI as sg
file = {"item 1": [{"name": "title 1"}, {"name": "title 2"}], "item 2": [{"name": "title 3"}, {"name": "title 4"}]}
j_file = json.dumps(file)
layout = [[sg.Text('items'), sg.Combo(j_file, key='some_key', size=(30, 0))], # there must be items
[sg.Text('titles'), sg.Combo(j_file, key='other_key', size=(30, 0))]] # there must be values of selected item
window = sg.Window('testing', layout)
while True:
event, value = window.read()
if event == sg.WINDOW_CLOSED:
break
Run Code Online (Sandbox Code Playgroud) 例如,"Show"
下例中的事件与单击按钮相关"Show"
。"Show"
有没有一种方法可以在不实际单击按钮的情况下以编程方式触发事件?目标是通过单击另一个按钮来自动单击一系列按钮并填充文本框,就像浏览器自动填充一样。
import PySimpleGUI as sg
sg.theme("BluePurple")
layout = [
[sg.Text("Your typed chars appear here:"), sg.Text(size=(15, 1), key="-OUTPUT-")],
[sg.Input(key="-IN-")],
[sg.Button("Show"), sg.Button("Exit")],
]
window = sg.Window("Pattern 2B", layout)
while True: # Event Loop
event, values = window.read()
print(event, values)
if event == sg.WIN_CLOSED or event == "Exit":
break
if event == "Show":
# Update the "output" text element to be the value of "input" element
window["-OUTPUT-"].update(values["-IN-"])
window.close()
Run Code Online (Sandbox Code Playgroud) 我创建了一个 Python 脚本来使用 API 下载数据。我还使用 PySimpleGUI 在其上放置了一个简单的 GUI。
但是,在下载数据时,我想显示一个不确定的进度条或类似的东西,下载完成后它将自行退出。
有什么办法可以实现这个要求吗?