如何使用tkinter从现有脚本调用函数

时间:2019-05-27 23:37:24

标签: python python-3.x tkinter

我认为标题不是很准确

这是我脚本的开始

rom colorama import init, Fore, Back, Style
import commands
import config
import sys

# Coloroma autoreset
init(autoreset=True)


while True:
    # Database Check.
    while True:
        db = input("Check for new databases? Y/N: ")
        if db.lower() == 'y':
            commands.db_download()
            break
        elif db.lower() == 'n':
            break
        else:
            continue

它是使某些动作自动化的机器人。现在,我想在其中添加一些GUI,但是我不知道如何。

这是我尝试使用tkinter进行操作的开始

import tkinter
import questions


top = tkinter.Tk()

B = tkinter.Button(top, text ="Lancer", command = db)

top.mainloop()

就像您在左侧看到的那样,我有“导入问题”,但是当我启动tkinter文件时,由于它的原因,它会自动启动问题,而无需考虑我的“ B”代码。

如何将gui添加到我的questions.py的每个命令中?

1 个答案:

答案 0 :(得分:1)

如果导入脚本,则它将运行该脚本中的所有代码,如果您想一次只运行脚本的某些部分,则必须将这些代码放入函数中。

例如:

def coloroma_autoreset():
    init(autoreset=True)


    while True:
        # Database Check.
        while True:
            db = input("Check for new databases? Y/N: ")
            if db.lower() == 'y':
                commands.db_download()
                break
            elif db.lower() == 'n':
                break
            else:
                continue
  

如果此代码位于文件“ questions.py”中,则可以import questions并按以下方式运行此功能:

import questions

questions.coloroma_autoreset() # this would run the code
  

您的代码的另一个问题是您没有显示自己的代码   按钮,您需要使用某种tkinter的几何管理器   可以显示您添加到窗口的所有小部件。

像这样:

import tkinter
import questions


top = tkinter.Tk()

B = tkinter.Button(top, text ="Lancer", command = db)
B.pack()

top.mainloop()