python pysimplegui 文本框输入内容,如何将输入的内容保存到txt文件中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python pysimplegui 文本框输入内容,如何将输入的内容保存到txt文件中?相关的知识,希望对你有一定的参考价值。

参考技术A 试试这个:
#1、导入库
import PySimpleGUI as sg
#2、定义布局,确定行数
layout=[
[sg.Text('文本框',size=(0,1)),sg.InputText()],
[sg.Button('保存')]
]
#3、创建窗口
window=sg.Window('Python GUI',layout)
#4、时间循环
while True:
event,values=window.read()
if event==None:
break
if event=='保存':
print('values:',values[0])
file=open(r"练习.txt","a")
file.write(values[0])
file.close()
#5、关闭窗口
window.close()
参考技术B 你好,下面是一个例子,可以将entry的东西写到文件去 from tkinter import * root = Tk() var.set("早上好!") e = Entry(root,textvariable=var) e.pack() print (e.get()) with open(fileName,"r")as f: f.write(e.get()) root.mainloop()追问

tkinter,我也在用。我只是想试试pysimplegui这个模块,网上说这个图形用户界面,非常好用,就想试试,结果 就遇到上述问题。谢谢你的回笔

参考技术C simplegui在Linux下不支持输入法,真没用,还不如用python-dialog或zenty或pyqt5 参考技术D 在save()方法中,您试图访问self.area,但没有创建它。在 第5个回答  2021-11-13 把结果赋值给变量contentf=open("text.txt",'wb')f.write(content)f.close()或者将结果输出,在运行时pythontest.py>./test.txt重定向输出结果。追问

我说的是python 中的pysimplegui这个模块中的输入文本框内容,保存到txt,文件。不是python读写文件方法。能不能把完整的代码给发一下,谢谢

让 PySimpleGUI 列表框列出对象属性

【中文标题】让 PySimpleGUI 列表框列出对象属性【英文标题】:Getting PySimpleGUI Listbox to list object attributes 【发布时间】:2021-08-27 14:59:17 【问题描述】:

我正在尝试了解如何在 python 中使用 PySimpleGUI 应用程序中的对象。我有一个旅行对象列表,每个对象都有三个属性——trip_no、日期、司机。

class Trip:
def __init__(self,trip_no,date,driver):
    self.trip_no=trip_no
    self.date=date
    self.driver=driver

我创建了一个旅行对象列表:

trips=[Trip('1','11/22/12','Dave'),Trip('2','10/13/14','Joe'),Trip('3','12/14/16','Dave')]

我可以搜索和检索给定行程的属性,但在列表框中我只能获得对对象的引用,如 ma​​in.Trip 对象位于 0x10b2bacc0>。我不知道如何在列表框中列出属性(trip.trip_no、trip.date、trip.driver)。

shot of form

我发现的示例适用于包含三个列表的列表,每个列表包含三个字符串元素:

[['1','11/22/12','Dave'],['2','10/13/14','Joe'],['3','12/14/16','Dave']]

但是有没有办法直接显示属性?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

定义函数__repr__ 以显示对象的表示形式。

import PySimpleGUI as sg

class Trip:

    def __init__(self,trip_no,date,driver):
        self.trip_no=trip_no
        self.date=date
        self.driver=driver

    def __repr__(self):
        return f"trip_no:self.trip_no, date:self.date, driver:self.driver"

trips=[Trip('1','11/22/12','Dave'),Trip('2','10/13/14','Joe'),Trip('3','12/14/16','Dave')]

sg.theme("DarkBlue3")
sg.set_options(font=("Courier New", 12))

layout = [[sg.Listbox(trips, size=(40, 3))]]
window = sg.Window('Title', layout, finalize=True)

while True:

    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    print(event, values)

window.close()

【讨论】:

谢谢,效果很好!我有很多东西要学...我在我做的一个教程中看到了 repr,但我没有看到如何应用它。

以上是关于python pysimplegui 文本框输入内容,如何将输入的内容保存到txt文件中?的主要内容,如果未能解决你的问题,请参考以下文章

请问,用pysimplegui输入框输入文字 ,如何将输入的文字保存到txt文档中?

让 PySimpleGUI 列表框列出对象属性

为啥我在使用 PySimpleGUI 的 while 循环中对列表框的更新最终导致我的程序挂起?

PySimpleGUI 列表框右键菜单

PySimpleGui:如何将值从一个列表框添加到另一个列表框

两列列表框 pySimpleGui