Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2021, 03:07   #1
Kermit_D
Новичок
Джуниор
 
Регистрация: 02.05.2021
Сообщений: 1
Восклицание Tkinter вывод данных

Мне надо в новом окне вывести данные: S, P, a. Вывод происходит по нажатию кнопки "Відповідь".


from tkinter import *
from tkinter import messagebox, Label
from PIL import Image, ImageTk
import tkinter as tk


#Функция для закривання програми
def on_closing():
if messagebox.askokcancel("Вихід з програми", "Хочете вийти з програми?"):
root.destroy()

#Функция для очищення введених даних
def clear():
#ctopA_entry.delete(0, END)
ctopB_entry.delete(0, END)
ctopC_entry.delete(0, END)
ctopD_entry.delete(0, END)
KytC_entry.delete(0, END)
KytD_entry.delete(0, END)
#Функция для виводу "Відповіді"
def vidpov():
from math import sqrt, pow

j = float(ctopC_entry.get()) #Сторона С

l = float(ctopB_entry.get()) #Сторона В
k = float(ctopD_entry.get()) #Сторона D

q = float(ctopD_entry.get()) - float(ctopB_entry.get()) #формула для знаходженя FD

h = sqrt(pow(j, 2) - pow(q, 2))

a = h

P = a + l + k + j

o = ( l + k ) / 2

S = h * o




#Для створення графічного вікна застосовується конструктор Tk (), який визначений
# в модулі tkinter. Створюване вікно присвоюється змінної root, і через цю змінну
# ми можемо управляти атрибутами вікна. Зокрема, за допомогою методу title () можна
# встановити заголовок вікна.
#-------------------------------------------------------------------------------------
root = Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)

root.title('Калькулятор "Трапеція"')
root.resizable(width=False, height=False)
root.wm_attributes("-topmost", True) # щоб вікно залишалося вище всіх інших вікон
root.wm_attributes("-alpha", 0.95)
canvas = Canvas(root, width=600, height=550, bd=1, bg='#D4135B', highlightthickness=0) #Canvas створюються об'єкти-полотна, на яких можна "малювати", розміщуючи різні фігури і об'єкти. Робиться це за допомогою викликів відповідних методів.
canvas.pack()
#-------------------------------------------------------------------------------------
#Добавлення малюнку до нашої програми
#-------------------------------------------------------------------------------------
our_image = Image.open("Трапеція.png")
our_image = our_image.resize((550, 350), Image.ANTIALIAS)
our_image = ImageTk.PhotoImage(our_image)
our_label = Label(image=our_image)
our_label.image = our_image
our_label.place(x=22.5, y=48)
#-------------------------------------------------------------------------------------

#nameA_label = Label(text="а =",
# fg='#00FDFF',
# bg='#FF004C',
# font=("Comic Sans MS",
# 14, "bold"))
# nameA_label.place(relx=.01, rely=.728)
# ctopA_entry = Entry()
# ctopA_entry.place(relx=.07, rely=.739)

#Добавлення тесту на вводу тексту. Розташовування його та колір
#-------------------------------------------------------------------------------------
nameTrap_label = Label(text="Малюнок даної трапеції",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
16, 'bold'))
nameTrap_label.place(relx=.5, rely=.01, anchor="n")


nameStopona_label = Label(text="Сторони:",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
13, 'italic'))
nameStopona_label.place(relx=.01, rely=.728)


nameB_label = Label(text="b =",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
14, "bold"))
nameB_label.place(relx=.08, rely=.77)
ctopB_entry = tk.Entry(root,
width=7, justify='center')
ctopB_entry.place(relx=.143, rely=.786)

nameC_label = Label(text="c =",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
14, "bold"))
nameC_label.place(relx=.08, rely=.825)
ctopC_entry = tk.Entry(root,
width=7, justify='center')
ctopC_entry.place(relx=.143, rely=.8385)

nameD_label = Label(text="d =",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
14, "bold"))
nameD_label.place(relx=.08, rely=.874)
ctopD_entry = tk.Entry(root,
width=7, justify='center')
ctopD_entry.place(relx=.143, rely=.89)



#-------------------------------------------------------------------------------------
nameKyt_label = Label(text="Кути(вводити в градусах):",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
13, 'italic'))
nameKyt_label.place(relx=.3, rely=.728)

KytC_label = Label(text="∠С =",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
12, "bold"))
KytC_label.place(relx=.4, rely=.79)
KytC_entry = tk.Entry(root,
width=7, justify='center')
KytC_entry.place(relx=.49, rely=.8)

KytD_label = Label(text="∠D =",
fg='#00FDFF',
bg='#FF004C',
font=("Comic Sans MS",
12, "bold"))
KytD_label.place(relx=.4, rely=.853)
KytD_entry = tk.Entry(root,
width=7, justify='center')
KytD_entry.place(relx=.49, rely=.86)
#-------------------------------------------------------------------------------------
# вставка начальных данных
ctopB_entry.insert(0, "8")
ctopC_entry.insert(0, "13")
ctopD_entry.insert(0, "20")
KytC_entry.insert(0, "135")
KytD_entry.insert(0, "60")
#-------------------------------------------------------------------------------------

#Створення двох кнопок. Розташовування їх та колір.
#-------------------------------------------------------------------------------------
vidpovid = tk.Button(root, text="Відповідь",
fg='#00FDFF', bg='#FF004C', width=8, height=1,
font=('Helvetica', '12', 'bold'), command=vidpov)
vidpovid.place(relx=.68, rely=.93)

clear = tk.Button(root, text="Clear",
fg='#00FDFF', bg='#FF004C', width=8, height=1,
font=('Helvetica', '12', 'bold'), command=clear)
clear.place(relx=.84, rely=.93)
#-------------------------------------------------------------------------------------

root.mainloop()
Kermit_D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Tkinter, entry Python Programmer Python 3 16.11.2018 22:51
Tkinter.Canvas, вывод изображений: PhotoImage некорректно передаётся из функции в функцию БалаШагаЛ Python 1 23.11.2017 01:03
PASCAL. Сортировка данных по размеру. Вывод корректных и некорректных данных. pro100wato Паскаль, Turbo Pascal, PascalABC.NET 8 27.04.2017 16:44
вывод в див имен из бд и при нажатии вывод в отдельный див дополнительной информации об этом имени / PHP и базы данных looni123 JavaScript, Ajax 3 03.04.2014 21:26
Как сделать вывод данных после всего ввода данных. Donatello Общие вопросы C/C++ 6 16.01.2011 16:32