如何保留当前的tkinter窗口并使用按钮进行更新?

时间:2019-01-29 03:08:42

标签: python tkinter

我正在创建一个UI,单击小部件按钮后,下一个Tkinter应该是永久的。在这个永久的Tkinter窗口中,我需要单击一个硬件按钮以用于其他目的,例如捕获图像。这是我的用户界面UI的图片,然后在单击“单击此处按钮”后,另一个用户界面将显示为Next UI,我该如何保留下一个用户界面并使用硬件按钮来更新文本标签?这是我到目前为止为此UI完成的代码。

if __name__ == '__main__':
root = tk.Tk()
root.geometry("480x320")

root['bg']='white'
PlayerTwo=PhotoImage(file="2.png")
PlayerThree=PhotoImage(file="3.png")
PlayerFour=PhotoImage(file="4.png")

players_label = tk.Label(root,
                         text="CHOOSE THE NUMBER OF PLAYERS THAT WILL BE PLAYING",
                         font="Times 13",
                         fg="white",
                         bg="#85C1E9")
players_label.pack(fill=X,ipady=40)


#No. of players and button for players name
b0 = tk.Button(root, text="Click here after player credentials", command=determine_players)
b0.pack(fill=X, ipady=20)
root.mainloop()

此代码是在单击UI小部件按钮后

def determine_players():
top = tk.Tk()
top.geometry("480x320")
text_file = open("players.txt", "r")
message = text_file.read()
players = message.split()
point1 = 0
point2 = 1
#print(players)
if len(players) == 2:

    proc = ImageProcess()
    img = cv2.imread("array_try/Character_extract_image1.jpg")

    print(proc.frame_table(img))
    Player1 = players[0]  
    Player2 = players[1]
    player1 = tk.Label(top,
                         text=Player1,
                         font="Times 45",
                         fg="white",
                         bg="#0000FF")
    #player1.pack(side='left', padx=10, pady=10, anchor= N)
    player1.grid(row=0, column=0)
    player1.config(width=7)


    text1 = tk.Text(top, heigh=30, width=30)

    pickle_in = open("game_file.pickle","rb")
    example_dict = pickle.load(pickle_in)

    text1.insert(tk.INSERT,example_dict[point1])
    text1.grid(column=0, row=1, sticky='N')

如果有人可以帮助我,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

我建议查看WaKo的以下答案:Two windows: First Login after that main program。我一直在使用Tkinter GUI,发现该解决方案最适合先设置一个初始窗口,再设置另一个窗口。关键功能是顶级,销毁,去图标化和撤回。您可以轻松地将任何相关数据从“顶层”移动到主窗口。