1. По-перше, ви складаєте речі, але не написали поміж ними знаки +.
Ось тут:
lab1.config(root,text = "Годин: " int(h)+ "хвии:" int(x) )
бракує двох плюсів:
lab1.config(root,text = "Годин: " + int(h) + "хвии:" + int(x) )
2. По-друге, ви складаєте значення різних типів. Рядки не можна складати з числами.
Знаком + позначається дві дуже різних операції:
Щоб відрізняти їх між собою, Python перевіряє типи: для рядків використовується конкатенація ("20" + "22" == "2022"), а для чисел — сума (20 + 22 == 42).
У вашому випадку вам потрібна конкатенація (тому що сума слова «Годин: » не має сенсу, у слова немає математичного значення), тобто вам потрібні рядки. У вас використана не та функція:
Функція int дає перетворює свій аргумент в ціле число. int("20") — це те саме, що 20
Функція str дає перетворює свій аргумент в ціле число. str(20) — це те саме, що "20"
Тобто вам потрібно замінити в рядку
lab1.config(root,text = "Годин: " + int(h) + "хвии:" + int(x) )
функцію int на функцію str:
lab1.config(root,text = "Годин: " + str(h) + "хвии:" + str(x) )
3. Ви поставили пробіл перед рядком, а не всередині рядку. Пробіли всередині виразів ігноруються. Щоб отримати пробіл перед «хвии: » потрібно поставити його всередині лапок: " хвии:.
І, до речі, краще виправити помилки друку в слові «хвилин». Тобто цей рядок:
lab1.config(root,text = "Годин: " + str(h) + "хвии:" + str(x) )
виглядатиме так:
lab1.config(root,text = "Годин: " + str(h) + " хвилин:" + str(x) )
4. В-четверте, в функцію config не передається батьківський елемент (у вас це root).
Коли ви створюєте надпис або поле, треба сказати бібліотеці Tk, до якого вікна (або елемента на вікні) це поле належить. Бо у вас може бути скільки завгодно вікон. Тому ми передаємо в рядку ent1 = Entry(root,width = 10) аргумент root.
Але функції config такий аргумент не передається. Тому що бібліотека Tk вже знає, на якому вікні знаходиться надпис, і цього достатньо.
Тому замість:
lab1.config(root,text = "Годин: " + str(h) + " хвилин:" + str(x) )
треба писати:
lab1.config(text = "Годин: " + str(h) + " хвилин:" + str(x) )
5. Ну і в-п'яте, у вас цей рядок
lab1.config(root,text = "Годин: " + str(h) + " хвилин:" + str(x) )
має виконуватися не зразу на початку програми, а коли викликано функцію день. Тобто перед ним треба поставити пробіл, щоб показати, що він належить до фунції день, а не до наступних рядків без пробілу.
В результаті програма стане виглядати так:
from tkinter import *
import tkinter.messagebox
def день():
d = int(ent.get())
h=24*d
x=60*24*d
lab1.config(text = "Годин: " + str(h) + " хвилин:" + str(x) )
root = Tk()
lab = Label(root, text = "Введіть кількість днів")
lab.place(x=20, y=20)
ent = Entry(root,width = 10)
ent.place(x=20, y=40)
lab1 = Label(root, text = "")
lab1.place(x=20, y=60)
ent1 = Entry(root,width = 10)
ent1.place(x=20, y=100)
but = Button(root, text = "Обчислити", command = день)
but.place(x=20, y=120)
root.mainloop()
Поспіхів!
P.S. Як на мій смак, друге поле в цій програмі зайве. Я б забрав ці два рядки:
ent1 = Entry(root,width = 10)
ent1.place(x=20, y=100)