Python初心者です。
円面積または円周を計算するアプリを作成しています。
プルダウンから円面積または円周を選択し、左のテキストボックスに半径を入力して、
実行ボタンを押すと右のテキストボックスに計算結果が表示されるというものです。
1回に20行(20個)まとめて計算できるものにしようと考えています。
現在、値の入出力の箇所の実装方法が思いつかず困っております。
どなたか教えてください。よろしくお願いいたします。
現在の入力されているコードは以下のページを参考にして作成しています。
https://teratail.com/questions/235208 (私の過去質問)
http://ja.voidcc.com/question/p-wneapznl-op.html
Python
1# -*- coding: utf-8 -*- 2from tkinter import * 3import tkinter as tk 4import tkinter.ttk as ttk 5 6#円面積・計算式 7def menseki(self): 8 inputNum = int(entry.get()) 9 menseki = str(inputNum * inputNum * 3.14) 10 return menseki 11 12#円周・計算式 13def enshu(self): 14 inputNum = int(entry.get()) 15 enshu = str(2 * inputNum * 3.14) 16 return enshu 17 18#プルダウンリスト 19action = { 20 "1.円面積":menseki, 21 "2.円周": enshu, 22} 23 24#値の入出力 25def calculate(): 26 value = int(entry.get()) 27 calc = action.get(combo.get()) 28 answer.delete(0, tk.END) 29 answer.insert(0, calc(value)) 30 31#入力値・出力値をクリア 32def delete(): 33 entry.delete(0,tk.END) 34 answer.delete(0, tk.END) 35 36#ウインド画面の作成 37root = tk.Tk() 38root.title("円面積・円周 計算アプリ") 39root.geometry("400x400") 40 41def _on_frame_configure(self, event=None): 42 canvas.configure(scrollregion=canvas.bbox("all")) 43 44#プルダウンの設定 45combo = ttk.Combobox(root, state="readonly",width=26) 46combo["values"] = list(action.keys()) 47combo.place(x=80, y=50) 48 49#フレームの設定 50frame =Frame(root, borderwidth=1, relief=SUNKEN,bg="black") 51frame.grid(column=0, row=0, padx=50, pady=100) 52 53#スクロールバーの設定 54yscrollbar = Scrollbar(frame) 55yscrollbar.grid(column=1, row=0, sticky=N+S) 56 57#キャンバスの設定 58canvas = Canvas(frame, width=290, height=220,bd=0,yscrollcommand=yscrollbar.set) 59canvas.grid(column=0, row=0, sticky=N+S+E+W) 60 61#スクロールバーを動かす 62yscrollbar.config(command=canvas.yview) 63 64 65frame = Frame(canvas, borderwidth=1, relief=SUNKEN) 66canvas.create_window(4,4,window=frame, anchor='nw') 67frame.bind("<Configure>",_on_frame_configure) 68 69#ラベル・テキストボックスの設定 70for i in range(1, 21): 71 #番号 72 label = ttk.Label(frame, text=""+str(i)) 73 label.grid(column=1, row=i, sticky=W) 74 75 #入力箇所 76 entry = ttk.Entry(frame, textvariable="") 77 entry.grid(column=2, row=i, sticky=W) 78 79 #計算結果を示す右矢印 80 labe2 = ttk.Label(frame, text="⇒") 81 labe2.grid(column=3, row=i, sticky=W) 82 83 #出力箇所 84 answer = ttk.Entry(frame, textvariable="") 85 answer.grid(column=4, row=i, sticky=W) 86 87# 実行ボタンの設定 88button1=tk.Button(root,text="実行",font=("Meiryo UI",8),width=8,height=2,bg="steel blue",fg="white",command=calculate) 89button1.place(x=300, y=30) 90 91#クリアボタンの設定 92button2=tk.Button(root,text="全クリア",font=("Meiryo UI",8),width=8,height=2,bg="ivory2",fg="black",command=delete) 93button2.place(x=300, y=350) 94 95root.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。