Пишу калькулятор tk

SuperKrutuiProgrammer

Новичок
Пользователь
Фев 4, 2023
1
0
1
Пишу калькулятор tk, столкнулся с проблемой, не срабатывает команда когда, кнопка "btn1" нажата, в def указал что label должен меняться и print(''Happy'), а также переменная KeepInt_1 = 1. Помогите исправить ошибку в коде.

from tkinter import *
from tkinter import ttk


root = Tk()
root.geometry('200x300' )

#first line
def btn1():
keepInt_1 = 1
label['text'] = 1
print("happy")


btn1=Button(root, text= '1',width =4,height=2,command='one').place(x = 25,y = 100)

btn2=Button(root, text= '2',width =4,height=2,command='two').place(x = 70,y = 100)

btn3=Button(root, text= '3',width =4,height=2,command='three').place(x = 115,y = 100)

#second line
btn4=Button(root, text= '4',width =4,height=2,command='four').place(x = 25,y = 145)
btn5=Button(root, text= '5',width =4,height=2,command='five').place(x = 70,y = 145)
btn6=Button(root, text= '6',width =4,height=2,command='six').place(x = 115,y = 145)
#third line
btn7=Button(root, text= '7',width =4,height=2,command='seven').place(x = 25,y = 190)
btn8=Button(root, text= '8',width =4,height=2,command='eight').place(x = 70,y = 190)
btn9=Button(root, text= '9',width =4,height=2,command='nine').place(x = 115,y = 190)
""""all int btn"""
#special btn
btnEqaully = Button(root,text='=',width=8,height=2,command='Eqaully').place(x=25,y=235)
btnPlus = Button(root,text='+', width=6,height=2,command='Plus').place(x= 100,y=235)
'''label'''
#label
label = Label(text='').place(x=25,y=75)






root.mainloop()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
ну во первых, код вставляйте как код - https://itfy.org/threads/kak-ne-nado-zadavat-voprosy.3450/#post-13566
во вторых у вас виджет и функция имеют одинаковые имена, это не верно
в третьих, в параметре command кнопки btn1 у вас указана какая то не понятная строка one
в четвертых, вы делаете объявление label и размещение в одной команде, функция place ничего не возвращает, поэтому в label записывается None

вот пример
Python:
import tkinter as tk

root = tk.Tk()
root.geometry('200x300')


# first line
def func_btn1():
    keepInt_1 = 1
    label['text'] = 1
    print("happy")


btn1 = tk.Button(root, text='1', width=4, height=2, command=func_btn1).place(x=25, y=100)

btn2 = tk.Button(root, text='2', width=4, height=2, command='two').place(x=70, y=100)

btn3 = tk.Button(root, text='3', width=4, height=2, command='three').place(x=115, y=100)

# second line
btn4 = tk.Button(root, text='4', width=4, height=2, command='four').place(x=25, y=145)
btn5 = tk.Button(root, text='5', width=4, height=2, command='five').place(x=70, y=145)
btn6 = tk.Button(root, text='6', width=4, height=2, command='six').place(x=115, y=145)
# third line
btn7 = tk.Button(root, text='7', width=4, height=2, command='seven').place(x=25, y=190)
btn8 = tk.Button(root, text='8', width=4, height=2, command='eight').place(x=70, y=190)
btn9 = tk.Button(root, text='9', width=4, height=2, command='nine').place(x=115, y=190)
""""all int btn"""
# special btn
btnEqaully = tk.Button(root, text='=', width=8, height=2, command='Eqaully').place(x=25, y=235)
btnPlus = tk.Button(root, text='+', width=6, height=2, command='Plus').place(x=100, y=235)
'''label'''
# label
label = tk.Label(text='')
label.place(x=25, y=75)

root.mainloop()
 

Форум IT Специалистов