tkinter代码执行顺序有问题

时间:2019-06-08 16:01:23

标签: python python-3.x tkinter

我的主要脚本运行在可以正常运行的终端上。我试图为此做一个gui,但我坚持到这一点。 Principal Terminal Version 就像您在屏幕上看到的那样,在脚本开始时,它询问是否应检查数据库。然后,在打开验证码进行数据库检查之前,它首先要求平台。问题恰好发生在我的GUI版本上,请看。 Gui Version 如您所见,图形用户界面开始,但是当我单击检查新数据库时,它直接打开验证码而无需询问平台...并且仅在我解决了我不想使用的验证码之后才问我平台。

这是主要的testkinter.py代码:

import tkinter as tk
from tkinter import messagebox
import commands
import CheckDatabase
import SetPlatformfile



def check_and_hide():
    CheckDatabase.db_download(root)
    checkdb.pack_forget()
    checkdb1.pack_forget()


root = tk.Tk()


checkdb = tk.Button(root, text="Check for new databases", command=check_and_hide)
checkdb.pack()


checkdb1 = tk.Button(root, text="No")
checkdb1.pack()


root.mainloop()

这是Checkdatabse文件中调用的set_platform函数:

import tkinter as tk
import config
from tkinter import messagebox



def set_platform(root):
    platform = tk.Label(root,text="'a'|Android -- 'i'|iOS: ")
    platform.pack()
    androidbutton=tk.Button(root,text="Android",command=renameplatformandroid)
    iosbutton=tk.Button(root,text="iOS",command=renameplatformios)
    androidbutton.pack()
    iosbutton.pack()


def renameplatformandroid():
    config.platform = 'android'
    print(config.platform)

def renameplatformios():
    config.platform = 'ios'
    print(config.platform)

我的checkdatabase文件的cuz确实非常长,我将在调用set_platform的确切时间放一个屏幕(在func注册中调用它,它本身在db_download的开头直接调用)。 Set platform called

我希望我的问题很清楚!让我知道您是否需要更多详细信息。

0 个答案:

没有答案