#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
, вам не придется вычислять координаты виджетов. Этот код будет работать только для определенного разрешения и шрифта, но может не работать в других системах или с другими шрифтами.