質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

749閲覧

ラベルの書き換えを出来るようにしたい

ugui

総合スコア15

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2022/01/02 11:16

前提・実現したいこと

pythonでドロップダウンから読み込みたいデータを選び、その最大最小、平均値を計算してくれる簡単なアプリを作っています。そこで以下のようにしてみたのですが、エラーが出ているわけでもないのにラベルの書き換えがうまくいきません。どなたかご教示頂けますと幸いです。

該当のソースコード

python

1import tkinter as tk 2from tkinter import ttk 3import pandas as pd 4 5root = tk.Tk() 6root.configure(bg='#000000') 7 8df = pd.read_excel('sample.xlsx') 9 10tablelabel1 = tk.Label(text='最高点 : ') 11tablelabel1.place(x=100, y=5) 12tablelabel2 = tk.Label(text='最低点 : ') 13tablelabel2.place(x=100, y=30) 14tablelabel3 = tk.Label(text='平均点 : ') 15tablelabel3.place(x=100, y=55) 16 17words1 = tk.Label(text=" ") 18words1.place(x=155, y=5) 19words2 = tk.Label(text=" ") 20words2.place(x=155, y=30) 21words3 = tk.Label(text=" ") 22words3.place(x=155, y=55) 23 24def cbf(event): 25 x = combobox.get() 26 score = df[x] 27 28 max_score = int(score.max()) 29 min_score = int(score.min()) 30 ave_score = int(score.mean()) 31 32 words1.delete(0, tk.END) 33 words1["text"] = "%s" % max_score 34 words2.delete(0, tk.END) 35 words2["text"] = "%s" % min_score 36 words3.delete(0, tk.END) 37 words3["text"] = "%s" % ave_score 38 39module = ('7月実施', '12月実施', '3月実施') 40 41combobox = ttk.Combobox(values=module, width=10, state='readonly') 42combobox.bind('<<ComboboxSelected>>', cbf) 43combobox.place(x=5, y=10) 44 45root.mainloop()

excel

1number name 7月実施 12月実施 3月実施 21 浅井 49 50 53 32 朝倉 70 72 71 43 明智 93 91 92 54 尼子 41 40 40 65 石田 79 76 82 76 今川 59 60 57 87 池田 76 73 78 98 上杉 62 61 60 109 大谷 49 50 51 1110 大友 65 62 67 1211 織田 82 80 78 1312 小山田 43 46 41 1413 片倉 50 53 49 1514 吉川 59 60 61 1615 黒田 67 66 69 1716 顕如 53 54 51 1817 小早川 81 81 83 1918 佐竹 37 36 35 2019 真田 78 79 80 2120 柴田 34 33 31 2221 島津 65 69 70 2322 武田 46 42 43 2423 竹中 39 40 43 2524 長宗我部 43 42 40 2625 伊達 47 46 45 2726 徳川 26 29 30 2827 豊臣 64 62 63 2928 直江 59 60 62 3029 丹羽 67 66 66 3130 本多 54 55 53 3231 北条 54 54 59 3332 前田 48 50 46 3433 松永 65 64 68 3534 最上 72 71 70

補足情報(FW/ツールのバージョンなど)

windows10, python3.9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2022/01/02 11:31

こちらの環境は Python 3.9.5/Tkinter 8.6 なのですが、期間を選択すると、 words1.delete(0, tk.END) AttributeError: 'Label' object has no attribute 'delete' と表示されます。そこで、words1.delete(0, tk.END), words2.delete(0, tk.END), words3.delete(0, tk.END) をコメントアウトすると平均点などが表示される様になります。
ugui

2022/01/02 12:34

回答ありがとうございます。
guest

回答1

0

自己解決

修正依頼の方で回答を教えてくださった方がいらっしゃたのですが、質問を解決状態にできないため自己解決の方に書かせて頂きます。

python

1words1.delete(0, tk.END) 2words2.delete(0, tk.END) 3words3.delete(0, tk.END) 4

28, 30, 32行目の上記のコードを消すことによって解消されました。

投稿2022/01/02 12:34

ugui

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問