如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?

Posted

技术标签:

【中文标题】如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?【英文标题】:How do you run a python script where the tkinter GUI is in the same file? How do you process user entries? 【发布时间】:2021-05-21 00:02:41 【问题描述】:

我有一个 python 脚本可以处理 pandas 的内容。我在 tkinter 中创建了一个 GUI,它将用户输入分配给不同的全局变量。我需要将所有内容保存在同一个文件中。这是我正在做的事情的 sn-p:

#Global Variables with default values
Winrate = 0

# Button Functions
def getWinRate():
    global Winrate
    Winrate = win_rate_entry.get()
    messagebox.showinfo('Successful Entry!')

def RunPipelineScript():
    print("Do stuff")

start_script_btn = Button(window, text="Start Script", command= RunPipelineScript())
# Rest of the script is below. It uses the values inputted by the user, e.g. WinRate entry, in the #calculations

我本质上是想让它在单击“开始脚本”按钮时执行脚本的其余部分。我不知道该怎么做。我应该将脚本的其余部分粘贴到“RunPipelineScript”函数中吗?如果是这样,是否会根据用户条目更改全局变量?我是否可以这样,一旦用户输入了适当的条目,RunPipelineScript 函数将跳转到某一行并继续正常执行程序?

如您所见,我是 Python 和 Pandas 的新手,如果您能提供任何帮助,我们将不胜感激 :)

【问题讨论】:

您必须将脚本的其余部分添加到您要在按下按钮时调用的函数中。 【参考方案1】:

解决方案很简单。你只需要做一些简单的步骤;那就是你只需要在函数中做一个函数。

让我们来解释一下你的代码。 这里: 这个按钮,点击后会执行RunPipelineScript函数。

如果您想执行整个脚本,您必须将所有内容都放在RunPipeLine 函数中。

你也已经在函数中声明了一个全局变量。 因此在声明函数后添加:

global Winrate

修改后的代码:

Winrate = 0

def RunPipelineScript():
    global Winrate
    print("Do stuff")
    # Button Functions
    def getWinRate():
        global Winrate
        Winrate = win_rate_entry.get()
        messagebox.showinfo('Successful Entry!')

        # Add all the code inside this function you want. That will execute the whole script.

start_script_btn = Button(window, text="Start Script", command= RunPipelineScript)
# Rest of the script is below. It uses the values inputted by the user, e.g. WinRate entry, in the #calculations

【讨论】:

您是否注意到您在command=RunPipelineScript() 行重复了错误?它应该是command=RunPipelineScript 哎呀。我忘记检查了。好吧,我正在编辑该问题。对不起!感谢您指出。

以上是关于如何在 tkinter GUI 位于同一文件中的情况下运行 python 脚本?您如何处理用户条目?的主要内容,如果未能解决你的问题,请参考以下文章

tkinter选项卡中的滚动条无法正常工作。滚动条位于我的gui应用程序的底部,而不是覆盖整个标签

Python导入并运行位于不同目录中的python脚本[重复]

如何拍摄由 Python-tkinter 创建的正在运行的 GUI 窗口的快照并保存为图像文件(.jpeg/.png)?

Python Chapter 9: 使用Tkinter进行GUI程序设计 Part 2

使用 Tkinter 制作文件选择器 GUI 以显示输入和输出文件

带有 Tkinter 和多个文件的 Python GUI