Странная визуальная ошибка при запуске кода tKinter

#python #tkinter

#python #tkinter

Вопрос:

Мне нужно написать небольшую игру для школьного проекта, и это часть кода ввода имени. Когда я запускаю эту часть кода, у меня появляется визуальная ошибка. Это код, который у меня есть:

 from tkinter import *

def retrieve_input():
    input = Naam1.get("1.0", "end-1c")
    print(input)
    input = Naam2.get("1.0", "end-1c")
    print(input)
    input = Naam3.get("1.0", "end-1c")
    print(input)

def create_kiezen():
    global Naam1
    global Naam2
    global Naam3

    kiezen = Tk()
    kiezen.geometry('600x600')
    kiezen.title('Namen invoeren!')
    kiezen.configure(background='darkgrey')
    Spelen = Button(kiezen, text='Begin!', bd='5', height='2', width='15',
                    command=lambda: [kiezen.destroy(), Spelmenu()])
    Terug = Button(kiezen, text='Terug', bd='5', height='2', width='15', command=lambda: [kiezen.destroy(), menu()])
    Spelen.pack(anchor='s', side='right')
    Terug.pack(anchor='s', side='left')
    kiezen.minsize(600, 600)
    kiezen.maxsize(600, 600)

    naamblok = Canvas(kiezen, width=400, height=200)
    naamblok.place(x=100, y=100)
    Opslaan=Button(naamblok, height=1, width=10, text='Opslaan', command=lambda: retrieve_input())
    Opslaan.place(x=160, y=150)

    Naam1=Text(naamblok, width=10, height=5)
    Naam1.place(x=160, y=40)
    Naam2= Text(naamblok, width=10, height=5)
    Naam2.place(x=160, y=60)
    Naam3=Text(naamblok, width=10, height=1)
    Naam3.place(x=160, y=80)

    mainloop()

create_kiezen()
 

Есть три поля ввода, но по какой-то причине есть одно поле ввода, которое действительно большое. Он перекрывает мою кнопку, и я действительно не знаю, как это исправить.

Любая помощь приветствуется!

Комментарии:

1. Не один, а два. Второй перекрывает первый. Измените height=5 height=1 или измените Text виджеты на Entry виджеты.

2. Я изменил обе высоты, и теперь они выглядят так, как я хочу, чтобы они выглядели. Спасибо за помощь 🙂

3. Если вы используете grid или pack вместо place , вам не придется вычислять координаты виджетов. Этот код будет работать только для определенного разрешения и шрифта, но может не работать в других системах или с другими шрифтами.