我正在创建一个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')
如果有人可以帮助我,将不胜感激。谢谢。
答案 0 :(得分:0)
我建议查看WaKo的以下答案:Two windows: First Login after that main program。我一直在使用Tkinter GUI,发现该解决方案最适合先设置一个初始窗口,再设置另一个窗口。关键功能是顶级,销毁,去图标化和撤回。您可以轻松地将任何相关数据从“顶层”移动到主窗口。