Как сохранить текущее окно tkinter и обновить его с помощью кнопки? - PullRequest
0 голосов
/ 29 января 2019

Я создаю пользовательский интерфейс, и после нажатия кнопки виджета следующий Tkinter должен быть постоянным.В этом постоянном окне Tkinter мне нужно нажать аппаратную кнопку для других целей, таких как захват изображения.Это изображение моего пользовательского интерфейса 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()

И этот код после нажатия кнопки виджета интерфейса пользователя

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 голосов
/ 29 января 2019

Я предлагаю посмотреть на этот ответ WaKo: Два окна: Первый вход в систему после этой основной программы .Я работал с графическим интерфейсом Tkinter и обнаружил, что это решение лучше всего иметь начальное окно, а затем другое.Ключевыми функциями являются Toplevel, уничтожить, deiconify и снять.Вы можете легко переместить любые релевантные данные из Toplevel в главное окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...