перекрывающиеся состояния с использованием модуля tkinter - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь работать с графическим интерфейсом, используя модуль tkinter.Я создал ярлык с генератором случайных приветствий.Однако они совпадают с предыдущими сгенерированными метками. Это код:

import tkinter
import random

window = tkinter.Tk()
# to rename the title of the window
window.title("GUI")

window.geometry("500x500")

#defining Functions
def search_greetings():
    phrases = ["Hallo ", "Hoi ", "Greetings "]
    name = str(entry1.get())
    text = ".Please enter your search term below."
    return phrases[random.randint(0, 2)] + name + text

def search_display():
    greeting = search_greetings()
    # This creates the text field
    greeting_display = tkinter.Label(window,text = search_greetings())
    greeting_display.grid(row=6,column=1)
    search_box = tkinter.Entry()
    search_box.grid(row=7)


# pack is used to show the object in the window
label = tkinter.Label(window, text = "Hello World! Welcome to my app")
label.grid(row = 0)

# creating 2 text labels and input labels

tkinter.Label(window, text = "Username").grid(row = 2) # this is placed in 1 0
# 'Entry' is used to display the input-field
entry1 = tkinter.Entry()
entry1.grid(row = 2, column = 1) # this is placed in 1 1

tkinter.Label(window, text = "Password").grid(row = 3) # this is placed in 2 0
tkinter.Entry().grid(row = 3, column = 1) # this is placed in 2 1

# 'Checkbutton' is used to create the check buttons
tkinter.Checkbutton(window, text = "Keep Me Logged In").grid(columnspan = 2) # 'columnspan' tells to take the width of 2 columns
                                                                             # you can also use 'rowspan' in the similar manner


# Submit button
button = tkinter.Button(text = "Submit",command = search_display).grid(row = 5)     

window.mainloop()

Он возвращает метки, как показано ниже: Привет 1234. Пожалуйста, введите поисковый запрос ниже.

G Hallo ashita. Пожалуйста, введите условие поиска ниже. V.

G Hallo ashita. Пожалуйста, введите термин поиска ниже..v.

Пожалуйста, проверьте ошибку вкод.

1 Ответ

0 голосов
/ 04 марта 2019

Кажется, что вы каждый раз создаете новый лейбл.Вы можете редактировать текст метки следующим образом:

mylabel = tkinter.Label(root, text="First!")
mylabel["text"] = "Second!"

Это отобразит «Второй!»(после упаковки).Вы даже можете изменить текст после упаковки этикетки.

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