我如何从tk对话框中获取结果以将值放回表单中?

时间:2019-04-08 16:01:33

标签: python-3.x forms tkinter

尝试填充tk表单小部件时遇到问题

这确实是一个简单的问题,我有点讨厌在这里发布它,因为必须有一个非常简单的解释,但是我现在看不到它。

我是python的新手。我有一个python3程序可以在excel文件上执行一些任务。该程序使用三个文件。我需要的只是一个简单的界面,该界面允许用户选择脚本文件(file1),过程文件(file2),然后会有第三个输出文件。然后使用这些文件进行主要处理。

我已经从一些网站复制了代码,并整合了一些代码以提出一些建议(见下文)。但是,我看不到如何将代码写回到文本小部件中。

例如,我希望以 Window.t_out =“新值” 或self.t_out =“新值”

但是,例如,我看不到如何访问t_out。 可能是我使用一个类引起了更多的混乱,但是我认为这是首选的方法。

已知问题: 1.我有.grid和.place,不打算将两者混用,但只是想看看哪个更好 2.在这一点上,我不确定是否应该将按钮功能保留在类中还是在类之外,因为两者似乎都可以工作。

17:46:12: Executing tasks 'build tomcatRun'...

> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :war UP-TO-DATE
> Task :assemble UP-TO-DATE
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test NO-SOURCE
> Task :check UP-TO-DATE
> Task :build UP-TO-DATE
> Task :tomcatRun
Started Tomcat Server
The Server is running at http://localhost:8080/spring

1 个答案:

答案 0 :(得分:0)

您必须使用self.才能访问类中所有方法中的小部件。

self.t_out = Text(...)

要在Text中插入新文本,您必须delete()旧文本和insert()新文本

self.t_out.delete("0", "end")
self.t_out.insert("end", "new text")