yyy-dot
@yyy-dot (Y Y)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Pythonで作るGUIアプリでBMIを計算の下にTODOリストを入れたいです。

解決したいこと

Pythonで作るGUIアプリで
BMIの機能とtodoリストの機能を1つにくっつけたいです。

例)
PythonでWebアプリをつくっています。
BMIを計算できるコードとTODOを書き出せるコードがあります。
BMIを計算の下にTODOリストを入れたいです。
が、うまくいきません。
解決方法を教えて下さい。

発生している問題・エラー

エラーも出ません。

TODOリストを作るコード

import tkinter as tk

class Application(tk.Frame):
    def __init__(self,master=None):
        tk.Frame.__init__(self,master)
        self.master.title('Todo List')
        self.master.geometry('500x450')

        self.ToDoNumber = 0
        self.ToDo = []
        self.txt = []
        self.spent = []
        self.spentNumber = []

        self.creat_widgets()

        self.pack()

    def creat_widgets(self):
        self.EditBox = tk.Entry(self,width = 30)
        self.EditBox.grid(row=0,column=0)

        Button = tk.Button(self,text ='追加')
        Button.bind('<Button-1>',self.DeleteEntryValue)
        Button.grid(row=0,column=1)

    def DeleteEntryValue(self,event):

        txtNew = tk.StringVar()
        txtNew.set(self.EditBox.get())

        ToDoNew = tk.Label(self,width=30,textvariable=txtNew)

        self.txt.append(txtNew)
        self.ToDo.append(ToDoNew)

        self.ToDoNumber += 1
        ToDoNew.grid(row=self.ToDoNumber,column=0)
        spentNumberNew = tk.StringVar()
        spentNumberNew.set('0')
        spentNew = tk.Label(self,width=2,textvariable=spentNumberNew)
        self.spent.append(spentNew)
        self.spentNumber.append(spentNumberNew)
        spentNew.grid(row=self.ToDoNumber,column=1)

        self.EditBox.delete(0,tk.END)

root = tk.Tk()
app = Application(master=root)
app.mainloop()

BMIを計算するアプリ

import tkinter

def btn_click():
    height = float(height_box.get())
    weight=float(weight_box.get())
    BMI=weight/(height*height)

    bmi_box.delete(0, tkinter.END)

    bmi_box.insert(0, BMI)

tki = tkinter.Tk()
tki.geometry('400x300')
tki.title('BMI計算')

height_lavel = tkinter.Label(text='身長[m]')
height_lavel.place(x=60, y=50)
weight_lavel = tkinter.Label(text='体重')
weight_lavel.place(x=60, y=80)
area_lavel = tkinter.Label(text='BMI')
area_lavel.place(x=60, y=230)

height_box = tkinter.Entry(width=20)
height_box.place(x=140, y=50)
weight_box = tkinter.Entry(width=20)
weight_box.place(x=140, y=80)
bmi_box = tkinter.Entry(width=20)
bmi_box.place(x=140, y=230)

btn = tkinter.Button(tki, text='BMIを計算する。', command=btn_click)
btn.place(x=140, y=150)

tk.mainloop()

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。

import tkinter as tk

class Application(tk.Frame):
    def __init__(self,master=None):
        tk.Frame.__init__(self,master)
        self.master.title('ダイエットのお手伝いします')
        self.master.geometry('500x450')

        self.ToDoNumber = 0
        self.ToDo = []
        self.txt = []
        self.spent = []
        self.spentNumber = []

        self.creat_widgets()

        self.pack()

    def creat_widgets(self):
        self.EditBox = tk.Entry(self,width = 30)
        self.EditBox.grid(row=0,column=0)

        Button = tk.Button(self,text ='追加')
        Button.bind('<Button-1>',self.DeleteEntryValue)
        Button.grid(row=0,column=1)

    def DeleteEntryValue(self,event):

        txtNew = tk.StringVar()
        txtNew.set(self.EditBox.get())

        ToDoNew = tk.Label(self,width=30,textvariable=txtNew)

        self.txt.append(txtNew)
        self.ToDo.append(ToDoNew)

        self.ToDoNumber += 1
        ToDoNew.grid(row=self.ToDoNumber,column=0)
        spentNumberNew = tk.StringVar()
        spentNumberNew.set('0')
        spentNew = tk.Label(self,width=2,textvariable=spentNumberNew)
        self.spent.append(spentNew)
        self.spentNumber.append(spentNumberNew)
        spentNew.grid(row=self.ToDoNumber,column=1)

        self.EditBox.delete(0,tk.END)

    def Button_click(self):
        height = float()
        weight = float()
        BMI = weight/(height*height)

        self.bmi_box.delete(0, tk.END)
        self.bmi_box.insert(0, BMI)

        height_lavel = tk.Label(text='身長[m]')
        height_lavel.place(x=60, y=50)
        weight_lavel = tk.Label(text='体重')
        weight_lavel.place(x=60, y=80)
        area_lavel = tk.Label(text='BMI')
        area_lavel.place(x=60, y=230)
        height_box = tk.Entry(width=20)
        height_box.place(x=140, y=50)
        weight_box = tk.Entry(width=20)
        weight_box.place(x=140, y=80)
        bmi_box = tk.Entry(width=20)
        bmi_box.place(x=140, y=230)

        button = tk.Button(tk,text='BMIを計算する。', command=Button_click)
        button.place(x=140, y=150)

        root = tk.Tk()
        app = Application(master=root)
        app.mainloop()

自分なりにつなげてみました。
実行ボタンを押してもなにも表示されません。

よろしくお願いします。

0

No Answers yet.

Your answer might help someone💌