- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你们能帮我知道如何在我的 PySimpleGui 脚本中连接一个按钮,当按下/单击运行按钮时,该按钮将执行另一个 python 脚本。
现在,我一直在阅读有关 GUI 脚本中的 Subprocess 和 command = os.popen 的内容。
layout = [[ sg.Text('Click the button to launch Program')],
[sg.Button('Launch')]]
win1 = sg.Window('My new window').Layout(layout)
win2_activate = False
while True:
ev1, vals1 = win1.Read()
if ev1 is None or ev1 == 'Cancel':
break
if not win2_activate and ev1 == 'Launch':
win1.Hide()
win2_activate = True
layout2 = [[sg.Text('Report Auto')],
[sg.Input(do_not_clear=True)],
[sg.Text('', key='_OUTPUT_')],
[sg.Button('Run'), sg.Button('Cancel')]]
win2 = sg.Window('Window2').Layout(layout2)
while True:
ev2, vals2 = win2.Read()
if ev2 is None or ev2 =='Cancel':
win2_activate = False
win2.Close()
win1.UnHide()
break
在我的 pysimplegui 脚本中,我尚未包含子进程或任何库,因为我只是不知道在哪里执行它。非常欢迎任何帮助!
最佳答案
这是您问题的完整答案,一个 PySimpleGUI 程序。该程序允许您输入命令。然后按一个按钮。当按下按钮时,命令将“运行”,并且输出将显示在窗口中。
import subprocess
import sys
import PySimpleGUI as sg
def main():
layout = [ [sg.Text('Enter a command to execute (e.g. dir or ls)')],
[sg.Input(key='_IN_')], # input field where you'll type command
[sg.Output(size=(60,15))], # an output area where all print output will go
[sg.Button('Run'), sg.Button('Exit')] ] # a couple of buttons
window = sg.Window('Realtime Shell Command Output', layout)
while True: # Event Loop
event, values = window.Read()
if event in (None, 'Exit'): # checks if user wants to exit
break
if event == 'Run': # the two lines of code needed to get button and run command
runCommand(cmd=values['_IN_'], window=window)
window.Close()
# This function does the actual "running" of the command. Also watches for any output. If found output is printed
def runCommand(cmd, timeout=None, window=None):
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = ''
for line in p.stdout:
line = line.decode(errors='replace' if (sys.version_info) < (3, 5) else 'backslashreplace').rstrip()
output += line
print(line)
window.Refresh() if window else None # yes, a 1-line if, so shoot me
retval = p.wait(timeout)
return (retval, output) # also return the output just for fun
if __name__ == '__main__':
main()
关于python - 连接/处理脚本到 PySimpleGUI 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57200315/
我想使用 PySimpleGui 从列表动态创建单选按钮,但我在布局代码中插入循环的努力正在捕获语法错误。这可以通过 API 来完成还是需要使用 tkinter 来完成?我的列表是通过网络驱动器的目标
我制作了一个简单的 Python3 程序,它使用 PySimpleGUI 创建一个 Windows-GUI 程序。该程序还包含一张图片 CAESAR.png,它与我的 python 代码位于同一文件夹
只是试图显示一个简单的窗口,我收到此错误代码: AttributeError:模块“PySimpleGUI”没有属性“Popup” import PySimpleGUI as sg sg.Popup(
PySimpleGUI 的新手。 我有一个多行输入框: layout1 = [[sg.Multiline(size=(45,5),key='-IN-')],... window1 =
前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个 Python 领域非常简单好用的图形界面库。 说起图形界面库,你可能会想到 TkInter、PyQt、PyGUI 等流行的图形界面库,我
PySimpleGUI python 库是否支持 RTL 对齐? 我想从右到左对齐阿拉伯文本: 代码: sg.Text("احب الطعام", font='12', size=(15, 1), b
我正在创建一个文本框,如下所示: sg.Text(size=(57, 10), background_color='white', text_color='red',
我正在使用 pysimplegui 构建一个简单的 GUI,并希望右对齐框架内的按钮。我找到了有关如何使用文本而不是按钮执行此操作的详细信息。 例如,我希望下面的按钮能够捕捉到框架的右侧,并且周围有凹
我正在尝试创建一个大时钟作为图形用户界面测试项目。该窗口应该在没有任何输入的情况下运行,并且只显示时间,同时每秒更新 10 次。无论我到目前为止尝试了什么,我都无法让文本更新到我当前的时间。 这是我的
我正在从日志文件中填充 pySimpleGui 表。大多数日志是单行,但存在一些多行文本。布局中的表格定义如下[sg.Table(key="mainTable",values=data, headin
我正在开发一个图像查看器,但我注意到在图像查看器中,当要显示的链接太长时,它会被切断。我怎样才能修改这段代码,以便如果字符串太长,它会在新行上打印它。我正在遵循指南,因此您可以查看 https://r
我正在尝试仅浏览 Excel 文件,但如何限制 PySimpleGUI 浏览按钮中的文件类型。 最佳答案 layout = [[sg.In() ,sg.FileBrowse(file_types=(
我想使用 pysimplegui 打印类似的输出 import PySimpleGUI as sg print("The age of the universe is", age_of_univers
import PySimpleGUI as sg import os layout = [[sg.Text('Velg mappe som skal tas backup av og hvor
感谢您阅读本文。 我正在制作一个简单的动画,该动画基于 PysimpleGUI 食谱中的两个示例之一。当然,附加的代码并没有做任何事情。我查看了许多示例,试图找出如何更新 Canvas ,但没有成功。
我已经创建了一个 Python 代码的 GUI。我在窗口中创建了一些元素。我希望元素能够响应窗口大小。我在窗口对象中添加了一个 resizable=true 属性,但它只会使应用程序窗口响应而不是窗口
我想在应用程序中添加一项功能,当单击加号按钮时将创建新的输入字段。我现在正在使用这段代码: import PySimpleGUI as sg PLUS_ICO = b'iVBORw0KGgoAAAAN
我正在尝试在 GUI 中运行一些代码,在我获得一些文本输入后运行一个函数。然而,我尝试运行的功能实际上非常复杂,因此当它运行时,它会使整个图形用户界面卡住 10-15 秒,然后再继续。 我怎样才能让它
我想创建一个 PySimpleGui 表,其中可以仅使用鼠标选择多行(对于 python3 中的应用程序)。pysimplegui 表允许像往常一样通过 Ctrl 和 Shift 选择各种行,但我只需
我正在关注 PySimpleGUI文档并在我进行时进行我自己的编辑。我对它很陌生,并且有使用 Tkinter 的经验。 Tkinter 中有一个文本框,您可以使用代码 Text(window, wid
我是一名优秀的程序员,十分优秀!