🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Tkinter

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

button

HTMLで用いる<button>タグです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

連結リスト

連結リストとは、データ構造のひとつであるリストの中で、要素が前後の要素の情報を持つことで、要素が連結(リンク)しているリストの事を呼びます。

Python

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

Q&A

解決済

3回答

2105閲覧

tkinterでbuttonを利用し、連結リストを操作しようとしているが、結果が変わらない

gentakun2

総合スコア1

Tkinter

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

button

HTMLで用いる<button>タグです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

連結リスト

連結リストとは、データ構造のひとつであるリストの中で、要素が前後の要素の情報を持つことで、要素が連結(リンク)しているリストの事を呼びます。

Python

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

0グッド

0クリップ

投稿2021/01/26 10:58

編集2021/01/26 14:33

tkinterでbuttonを利用し、連結リストを表示させたい

pythonで連結リストを作りました。その後、tkinterを使って連結リストを操作することができるソフトウェアを作ろうとしています。
しかし、bottonを利用して値を挿入したり、追加するボタンを押しても変化がありません。連結リスト自体はしっかり作動します。

発生している問題・エラーメッセージ

今のところエラーはしておらず、一応GUIが動きます。しかし、望み通りに結果が表示されない。

該当のソースコード

python

1import tkinter as tk 2 3global my_list 4 5 6 7class MyElement: 8 def __init__(self,val): 9 self.val = val 10 self.prev = None 11 self.next = None 12 13 def to_string(self): 14 str_prev = "None" 15 str_next = "None" 16 if self.prev != None: 17 str_prev = str(self.prev.val) 18 if self.next != None: 19 str_next = str(self.next.val) 20 21 return"(" + str(self.val) + "," + str_prev + ", " + str_next + ")" 22 23class MyDoublyLinkedList: 24 def __init__(self): 25 self.head = None 26 self.tail = None 27 28 def append(self, element): 29 30 31 if self.head == None: 32 self.head = element 33 self.tail = element 34 else: 35 self.tail.next = element 36 element.prev = self.tail 37 self.tail = element 38 39 self.to_string() 40 41 def get(self, index): 42 ptr = self.head 43 for i in range(0, index): 44 ptr = ptr.next 45 46 return ptr 47 48 def insert(self, index, element): 49 if index == None: 50 return 51 52 ptr = self.get(index) 53 54 if ptr == None: 55 self.append(element) 56 else: 57 element.prev = ptr.prev 58 element.next = ptr 59 if ptr.prev == None: 60 self.head = element 61 else: 62 ptr.prev.next = element 63 ptr.prev = element 64 65 self.to_string() 66 67 68 def delete(self, element): 69 if element.prev == None: 70 self.head = element.next 71 else: 72 element.prev.next = element.next 73 if element.next == None: 74 self.tail = element.prev 75 else: 76 element.next.prev = element.prev 77 78 79 80 81 def to_string(self): 82 global response_area 83 global stringfied_data 84 global ptr 85 stringfied_data = "[" 86 ptr = self.head 87 while ptr != None: 88 stringfied_data += str(ptr.val) + " " 89 ptr = ptr.next 90 91 stringfied_data += "]" 92 93 response_area.configure(text=stringfied_data) 94 95 def to_string2(self): 96 global stringfied_data1 97 stringfied_data1 = "[" 98 ptr = self.head 99 while ptr != None: 100 stringfied_data1 += str(ptr.val) + " " 101 ptr = ptr.next 102 103 stringfied_data1 += "]" 104 105 return stringfied_data1 106 107 108 109 110def get_value(entryWidget): 111 value = entryWidget.get() 112 try: 113 return int(value) 114 except ValueError: 115 return None 116 117if __name__ == "__main__": 118 119 root = tk.Tk() 120 root.geometry("800x400") 121 root.title("連結リスト") 122 label = tk.Label(root,text="連結リストを利用してみましょう",font=("Times New Roman",20)) 123 label.place(x=0,y=0) 124 125 126 response_area = tk.Label(root,width = 80,height = 2,bg = 'gray') 127 response_area.place(x=0,y=40) 128 129 my_list = MyDoublyLinkedList() 130 my_list.append(MyElement(2)) 131 my_list.append(MyElement(8)) 132 133 #追加する機能 134 txtbox1 = tk.Entry() 135 txtbox1.configure(state='normal',width=20) 136 txtbox1.place(x = 0,y = 130) 137 138 label1 = tk.Label(root,text="(追加したい値)",font=("Times New Roman",10)) 139 label1.place(x=170,y=130) 140 141 button1 = tk.Button(text = '追加',height = 1,width = 10,command = my_list.append(MyElement(txtbox1.get()))) 142 button1.place(x = 0,y = 90) 143 144 #挿入する機能 145 txtbox2 = tk.Entry() 146 txtbox2.configure(state='normal',width=20) 147 txtbox2.place(x = 0,y = 200) 148 149 label2 = tk.Label(root,text="(挿入したい位置)",font=("Times New Roman",10)) 150 label2.place(x=170,y=200) 151 152 153 index = get_value(txtbox2) 154 155 txtbox3 = tk.Entry() 156 txtbox3.configure(state='normal',width=20) 157 txtbox3.place(x = 0,y = 230) 158 159 label3 = tk.Label(root,text="(挿入したい値)",font=("Times New Roman",10)) 160 label3.place(x=170,y=230) 161 162 163 button2 = tk.Button(text = '挿入',height = 1,width = 10,command = my_list.insert(index,MyElement(txtbox3.get()))) 164 button2.place(x = 0,y = 160) 165 166 #削除する機能 167 txtbox4 = tk.Entry() 168 txtbox4.configure(state='normal',width=20) 169 txtbox4.place(x = 0,y = 300) 170 171 label4 = tk.Label(root,text="(削除したい値)",font=("Times New Roman",10)) 172 label4.place(x=170,y=300) 173 174 175 button3 = tk.Button(text = '削除',height = 1,width = 10,command = my_list.delete(MyElement(txtbox4.get()))) 176 button3.place(x = 0,y = 260) 177 178 179 180 181 root.mainloop() 182

試したこと

main関数の中で手動で作った
my_list.append(MyElement(2))
my_list.append(MyElement(8))
はしっかり表示されるので連結リスト自体は間違っていません。
しかし、それぞれEntryで作った空白の値をもとにbottonで同じ機能をさせようとすると下の写真のように何も変化がありません。自分の今のところの考えでは、どこかにglobalを付け加えないと、連結リストが変更されないのではないかと考えています。色々globalなどを付け加えてやってみましたが、何も変わらなかったので、どこを直せばいいか教えていただけると幸いです。

GUIの現状況

追記

お答えいただいた方のアドバイスをもとに、新しい関数(引数なしで、本来
やりたいことをそこに書いた関数,app,ins,dele)を導入しました。

おかげ様でappend(追加)ボタンを押した際にはしっかりと表示されるようになりました。
しかし、insertとdeleteボタンは前と同様に押しても反応がありません。

イメージ説明

思い当たるふしとしましては、二つの共通しているところで、Entry(空白)に打ち込んだものをint型に直すという作業をしています(get_value関数で)。

そのあとエラーがでないように、insert関数,dele関数のところでそれぞれのindexがNoneであるとき、動作を終了するように(returnを記述)しています。

もしかしたら空白に打ち込んだindex,index1がどこかしらで共にNoneになってしまってしまい、変化しないのではないかと思っていますが、色々試してもダメでした…

get_value関数を作るまえに、index = int(txtbox4.get())などとしたのですが、int型に直せないものがあるというように怒られてしまいましたので、この関数を作った次第です。

間違えているところを指摘していただけると光栄です。

新しい関数を付け加えたコードはこちらです。

python

1import tkinter as tk 2 3global my_list 4 5 6class MyElement: 7 def __init__(self,val): 8 self.val = val 9 self.prev = None 10 self.next = None 11 12 def to_string(self): 13 str_prev = "None" 14 str_next = "None" 15 if self.prev != None: 16 str_prev = str(self.prev.val) 17 if self.next != None: 18 str_next = str(self.next.val) 19 20 return"(" + str(self.val) + "," + str_prev + ", " + str_next + ")" 21 22class MyDoublyLinkedList: 23 def __init__(self): 24 self.head = None 25 self.tail = None 26 27 28 def app(self): 29 self.append(MyElement(txtbox1.get())) 30 31 def append(self, element): 32 33 34 if self.head == None: 35 self.head = element 36 self.tail = element 37 else: 38 self.tail.next = element 39 element.prev = self.tail 40 self.tail = element 41 42 self.to_string() 43 44 def get(self, index): 45 ptr = self.head 46 for i in range(0, index): 47 ptr = ptr.next 48 49 return ptr 50 51 def ins(self): 52 self.insert(index,MyElement(txtbox3.get())) 53 54 def insert(self, index, element): 55 if index == None: 56 return 57 58 ptr = self.get(index) 59 60 if ptr == None: 61 self.append(element) 62 else: 63 element.prev = ptr.prev 64 element.next = ptr 65 if ptr.prev == None: 66 self.head = element 67 else: 68 ptr.prev.next = element 69 ptr.prev = element 70 71 self.to_string() 72 73 def dele(self): 74 if index1 == None: 75 return 76 77 y = self.get(index1) 78 my_list.delete(y) 79 80 def delete(self, element): 81 if element.prev == None: 82 self.head = element.next 83 else: 84 element.prev.next = element.next 85 if element.next == None: 86 self.tail = element.prev 87 else: 88 element.next.prev = element.prev 89 90 self.to_string() 91 92 93 94 def to_string(self): 95 stringfied_data = "[" 96 ptr = self.head 97 while ptr != None: 98 stringfied_data += str(ptr.val) + "," 99 ptr = ptr.next 100 101 stringfied_data += "]" 102 103 response_area.configure(text=stringfied_data) 104 105 106 107 108 109 110def get_value(entryWidget): 111 value = entryWidget.get() 112 try: 113 return int(value) 114 except ValueError: 115 return None 116 117if __name__ == "__main__": 118 119 root = tk.Tk() 120 root.geometry("800x400") 121 root.title("連結リスト") 122 label = tk.Label(root,text="連結リストを利用してみましょう",font=("Times New Roman",20)) 123 label.place(x=0,y=0) 124 125 126 response_area = tk.Label(root,width = 80,height = 2,bg = 'gray') 127 response_area.place(x=0,y=40) 128 129 my_list = MyDoublyLinkedList() 130 131 132 #追加する機能 133 txtbox1 = tk.Entry() 134 txtbox1.configure(state='normal',width=20) 135 txtbox1.place(x = 0,y = 130) 136 137 label1 = tk.Label(root,text="(追加したい値)",font=("Times New Roman",10)) 138 label1.place(x=170,y=130) 139 140 button1 = tk.Button(text = '追加',height = 1,width = 10,command = my_list.app) 141 button1.place(x = 0,y = 90) 142 143 #挿入する機能 144 txtbox2 = tk.Entry() 145 txtbox2.configure(state='normal',width=20) 146 txtbox2.place(x = 0,y = 200) 147 148 label2 = tk.Label(root,text="(挿入したい位置)",font=("Times New Roman",10)) 149 label2.place(x=170,y=200) 150 151 152 index = get_value(txtbox2) 153 154 txtbox3 = tk.Entry() 155 txtbox3.configure(state='normal',width=20) 156 txtbox3.place(x = 0,y = 230) 157 158 label3 = tk.Label(root,text="(挿入したい値)",font=("Times New Roman",10)) 159 label3.place(x=170,y=230) 160 161 162 button2 = tk.Button(text = '挿入',height = 1,width = 10,command = my_list.ins) 163 button2.place(x = 0,y = 160) 164 165 #削除する機能 166 txtbox4 = tk.Entry() 167 txtbox4.configure(state='normal',width=20) 168 txtbox4.place(x = 0,y = 300) 169 170 index1 = get_value(txtbox4) 171 172 label4 = tk.Label(root,text="(削除したい位置番号)",font=("Times New Roman",10)) 173 label4.place(x=170,y=300) 174 175 176 button3 = tk.Button(text = '削除',height = 1,width = 10,command = my_list.dele) 177 button3.place(x = 0,y = 260) 178 179 root.mainloop() 180

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

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

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

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

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

guest

回答3

0

ベストアンサー

ボタンを設定するときのcommandパラメータの意味を取り違えています。

python

1button1 = tk.Button(text = '追加',height = 1,width = 10,command = my_list.append(MyElement(txtbox1.get())))

ここでは、commandとしてボタンを押したときに実行してほしいことを書いているようですが、こう書くと、定義時に「my_list.append(MyElement(txtbox1.get()))」が実行されてしまって、その返り値がcommandに設定されてしまいます。そして、ボタンが押されたときにはその返り値(たぶんNone)が実行されます。

では何をcommandに指定するのかというと、関数オブジェクトそのものです。たとえば「My_list.append」ということになりますが、引数は無しで呼ばれるtkinterの仕様なので、このままでは動作できませんね。

新たに関数を作ってやりたい処理を記述してここに指定するとか、ラムダ式を使って引数を渡すとか、他にもいくつか方法はありますが、関数を作っておくのがわかりやすいと思います。

投稿2021/01/26 11:55

TakaiY

総合スコア13767

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

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

gentakun2

2021/01/26 14:39

お答えいただきありがとうございます!! TakaiY様のおかげでappendボタンが正常に作動するようになりました! しかし、追記にも書いた通りなのですが、insert関数、delete関数が反応せず、二つとも画像の通りです。 一応連結リストが間違えてないか、これらの関数を通常の形で試したところ大丈夫でしたので、追記にも書いてあるようなことが間違っているのではないかと思います。 もしよろしければ、どこが間違っているか指摘していただけるとありがたいですm(__)m
TakaiY

2021/01/26 15:04 編集

ちゃんと追っていませんけど、ins も dele もindex がどこで設定されているかわからないものになっているように思いますが、そこのところは確認されましたか? 少なくともそれぞれの関数で明示的に値を取得すべきと思いますけど。
gentakun2

2021/01/26 15:21

ありがとうございます!! それぞれの関数で値を取得してませんでした…確認不足ですみませんm(__)m おかげですべて正常に動作するようになりました! お忙しい中ありがとうございました!
guest

0

問題点: ボタンクリック時のイベントの登録方法

python

1, command = my_list.append(MyElement(txtbox1.get())))

現状では、commandの設定時(つまり、起動時)に式が評価され
その戻り値が command に設定されてます。

※ ライブラリ側の都合なのですが、
残念ながら、この時点での無効なcommand登録はエラーは報告されません。

解消方法
簡易的には、lambda 式にすることで、
ボタンが押されたときに式を評価とすることができます。

python

1, command = lambda: my_list.append(MyElement(txtbox1.get())))

他のボタンのcommandについても同様です。

投稿2021/01/26 11:50

teamikl

総合スコア8738

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

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

gentakun2

2021/01/26 14:43

お答えいただきありがとうございます!! teamikl様のおかげでラムダ式で実際に書いてみても追加機能が正常に動きました! しかし、追加にも書いてある通りなのですが、insertとdeleteが何も変化しませんでした... ラムダ式では書かれていないコードでありますが、もし何か間違えがあったらまた指定しただけると幸いですm(__)m
guest

0

おはようございます。

問題文読ませていただきました。

こんな感じでいかがでしょうか?

python

1import tkinter as tk 2 3class MyDoublyLinkedList: 4 # 最新の結果情報を格納する変数 5 result = [] 6 7 # 末尾にデータを格納する関数 8 def appendOpe(self): 9 data = txtbox1.get() 10 if len(data) > 0: 11 self.result.append(data) 12 self.to_string() 13 14 # 指定箇所へデータを格納する関数 15 def insertOpe(self): 16 try: 17 index = int(txtbox2.get()) 18 data = txtbox3.get() 19 if index >= 0 and len(self.result) >= index and len(data) > 0: 20 self.result.insert(index, data) 21 except: 22 pass 23 self.to_string() 24 25 # 指定箇所のデータを削除する関数 26 def deleteOpe(self): 27 try: 28 index = int(txtbox4.get()) 29 if index >= 0 and len(self.result) > index: 30 self.result.pop(index) 31 except: 32 pass 33 self.to_string() 34 35 # 最新の結果情報をlabel Widgetへ書き込む。 36 def to_string(self): 37 response_area.configure(text='[' + ','.join(self.result) + ']') 38 39if __name__ == "__main__": 40 # Windowを作成する。 41 root = tk.Tk() 42 # Windowの画面サイズを設定する。 43 # geometryについて : https://kuroro.blog/python/rozH3S2CYE0a0nB3s2QL/ 44 root.geometry("800x400") 45 # Windowへタイトルをつける。 46 root.title("連結リスト") 47 48 # Windowを親要素として、label Widgetを作成する。 49 # text : テキスト情報 50 # font : フォントの設定 51 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 52 label = tk.Label(root, text="連結リストを利用してみましょう", font=("Times New Roman", 20)) 53 # Windowを親要素として、label Widgetをどのように配置するのか? 54 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 55 label.place(x=0, y=0) 56 57 # Windowを親要素として、label Widgetを作成する。 58 # width : 幅の設定 59 # height : 高さの設定 60 # bg : 背景色の設定 61 # 色について : https://kuroro.blog/python/YcZ6Yh4PswqUzaQXwnG2/ 62 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 63 response_area = tk.Label(root, width=80, height=2, bg='gray') 64 # Windowを親要素として、label Widgetをどのように配置するのか? 65 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 66 response_area.place(x=0, y=40) 67 68 # Windowを親要素として、entry Widgetを作成する。 69 # width : 幅の設定 70 # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/ 71 txtbox1 = tk.Entry(root, width=20) 72 # Windowを親要素として、entry Widgetをどのように配置するのか? 73 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 74 txtbox1.place(x=0, y=130) 75 76 # Windowを親要素として、entry Widgetを作成する。 77 # width : 幅の設定 78 # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/ 79 txtbox2 = tk.Entry(root, width=20) 80 # Windowを親要素として、entry Widgetをどのように配置するのか? 81 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 82 txtbox2.place(x=0, y=200) 83 84 # Windowを親要素として、entry Widgetを作成する。 85 # width : 幅の設定 86 # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/ 87 txtbox3 = tk.Entry(root, width=20) 88 # Windowを親要素として、entry Widgetをどのように配置するのか? 89 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 90 txtbox3.place(x=0, y=230) 91 92 # Windowを親要素として、entry Widgetを作成する。 93 # width : 幅の設定 94 # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/ 95 txtbox4 = tk.Entry(root, width=20) 96 # Windowを親要素として、entry Widgetをどのように配置するのか? 97 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 98 txtbox4.place(x=0, y=300) 99 100 # Windowを親要素として、label Widgetを作成する。 101 # text : テキスト情報 102 # font : フォントの設定 103 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 104 label1 = tk.Label(root, text="(追加したい値)", font=("Times New Roman", 10)) 105 # Windowを親要素として、label Widgetをどのように配置するのか? 106 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 107 label1.place(x=170, y=130) 108 109 # Windowを親要素として、label Widgetを作成する。 110 # text : テキスト情報 111 # font : フォントの設定 112 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 113 label2 = tk.Label(root, text="(挿入したい位置)", font=("Times New Roman", 10)) 114 # Windowを親要素として、label Widgetをどのように配置するのか? 115 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 116 label2.place(x=170, y=200) 117 118 # Windowを親要素として、label Widgetを作成する。 119 # text : テキスト情報 120 # font : フォントの設定 121 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 122 label3 = tk.Label(root, text="(挿入したい値)", font=("Times New Roman", 10)) 123 # Windowを親要素として、label Widgetをどのように配置するのか? 124 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 125 label3.place(x=170, y=230) 126 127 # Windowを親要素として、label Widgetを作成する。 128 # text : テキスト情報 129 # font : フォントの設定 130 # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/ 131 label4 = tk.Label(root, text="(削除したい位置番号)", font=("Times New Roman", 10)) 132 # Windowを親要素として、label Widgetをどのように配置するのか? 133 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 134 label4.place(x=170, y=300) 135 136 my_list = MyDoublyLinkedList() 137 138 # Windowを親要素として、button Widgetを作成する。 139 # text : テキスト情報 140 # height : 高さの設定 141 # width : 幅の設定 142 # command : ボタンを選択した場合に、実行する関数を設定。 143 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 144 button1 = tk.Button(root, text='追加', height=1, width=10, command=my_list.appendOpe) 145 # Windowを親要素として、button Widgetをどのように配置するのか? 146 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 147 button1.place(x=0, y=90) 148 149 # Windowを親要素として、button Widgetを作成する。 150 # text : テキスト情報 151 # height : 高さの設定 152 # width : 幅の設定 153 # command : ボタンを選択した場合に、実行する関数を設定。 154 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 155 button2 = tk.Button(root, text='挿入', height=1, width=10, command=my_list.insertOpe) 156 # Windowを親要素として、button Widgetをどのように配置するのか? 157 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 158 button2.place(x=0, y=160) 159 160 # Windowを親要素として、button Widgetを作成する。 161 # text : テキスト情報 162 # height : 高さの設定 163 # width : 幅の設定 164 # command : ボタンを選択した場合に、実行する関数を設定。 165 # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/ 166 button3 = tk.Button(root, text='削除', height=1, width=10, command=my_list.deleteOpe) 167 # Windowを親要素として、button Widgetをどのように配置するのか? 168 # placeについて : https://kuroro.blog/python/JyaHUKyFyxCa0baFfXg0/ 169 button3.place(x=0, y=260) 170 171 # Windowをループさせて、継続的にWindow表示させる。 172 # mainloopについて : https://kuroro.blog/python/DmJdUb50oAhmBteRa4fi/ 173 root.mainloop()

ご確認のほど、よろしくお願いいたします。????‍♂️

またentry Widgetのoptionや入力内容の取得方法などを、以下の記事でまとめましたので、ご確認いただけますと幸いです。
Tkinterで使われるentryって?有効な活用方法から実用例を徹底解説!?

投稿2021/07/11 01:20

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問