@RNIKROBOT

Как исправить ошибку, возникающию при вводе данных ( библиотеки Tkinter и docx)?

При попытке создать окно для ввода данных выводится данная ошибка:

Traceback (most recent call last):

  File "C:\Users\Никита\Desktop\Питон\часть 1. Экраноплан общее\Экраноплан 31.08.2022.py", line 55, in <module>
    mпн=(80+20)*nпасс

TypeError: unsupported operand type(s) for *: 'int' and 'Entry'


Если меняю последнюю строчку кода на:
nпасс=float(tk.Entry(frame1))

То получаю:
Traceback (most recent call last):

  File "C:\Users\Никита\Desktop\Питон\часть 1. Экраноплан общее\Экраноплан 31.08.2022.py", line 54, in <module>
    nпасс=float(tk.Entry(frame1))


Если после Entry пишу .get, то получаю ошибку:
Traceback (most recent call last):

  File "C:\Users\Никита\Desktop\Питон\часть 1. Экраноплан общее\Экраноплан 31.08.2022.py", line 54, in <module>
    nпасс=float(tk.Entry.get(frame1))

  File "C:\Python\lib\tkinter\__init__.py", line 3043, in get
    return self.tk.call(self._w, 'get')

TclError: bad option "get": must be cget or configure

Код:
import docx
from docx.shared import Pt
from datetime import date
from docx.enum.text import WD_ALIGN_PARAGRAPH 
import tkinter as tk

#узнаю и вбиваю сегодняшнее число. Перевожу в тип строки
current_date = date.today()
t=str(current_date)
#создаю txt файл
b=t+' Экраноплан.Общее.docx'
my_file = open(b, "w+",encoding='utf-8')
#исходные данные
mкон=0.39
mсу=0.16
mоб_упр=0.12
mт=0.12
g=9.81

#Создаём окно
window=tk.Tk()
window.title('Экраноплан')
window.geometry('900x900')
#Мин размер окна
window.minsize(200,200)

#Создание рабочей области внутри окна (рамка). Внутри скобки от Frame заданы характеристики области
frame1=tk.Frame(window,width=900,height=900,bg='white')
#Фиксируем frame на плосксости. Задаём коэф-ты масштабирования
frame1.place (relx=0,rely=0,relwidth=1,relheight=1)
#Надписи
#l_1=tk.Label(frame1,text='Экраноплан')
#Положение текста и надписей
#l_1.grid(row='0',column='0',sticky='w',padx=10,pady=10)

#Создаём документ
doc =docx.Document()
# задаем стиль текста по умолчанию
style = doc.styles['Normal']
# название шрифта
style.font.name = 'Times New Roman'
# размер шрифта
style.font.size = Pt(14)
#расчёты и ввод данных
#Абзац
para1=doc.add_paragraph('5 РАСЧЁТ ВЗЛЁТНОЙ МАССЫ')
para1.paragraph_format.alignment=WD_ALIGN_PARAGRAPH.CENTER
doc.add_paragraph('')
t1=tk.Label(frame1,text='5 РАСЧЁТ ВЗЛЁТНОЙ МАССЫ')
t1.grid(row='0',column='0',sticky='w',padx=10,pady=10)
t2=tk.Label(frame1,text='Введите число пассажиров на экраноплане')
t2.grid(row='0',column='1',sticky='e',padx=10,pady=10)
nпасс=tk.Entry(frame1))


#Цикл, который будет отслеживать все изменения внутри приложения
window.mainloop()

doc.save(b)
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы