前提・実現したいこと
python で国名を入力するとその国の標準時の時計を返すプログラムを作っています。
発生している問題・エラーメッセージ
tkinter のbindをつかってボックスの中の文字をEnterを押しても受け取ってくれるようにしようとしたときにエラーが起きてしまいます。
助けてください。
Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\trmti\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__ return self.func(*args) TypeError: print_txtval() takes 1 positional argument but 2 were given
該当のソースコード
python
1import tkinter as tk 2import datetime 3import time 4import threading 5import time 6from aitokami_class import Place 7p = Place() 8class Timer: 9 def print_txtval(self): 10 global cou 11 cou = self.en.get() 12 self.country = self.en.get() 13 location = p.return_place(self.country) 14 self.lb_place["text"] = "" 15 self.lb_place["text"] = location 16 self.lb_place.place(x=150,y=100) 17 self.lb_check["text"] = "ikko" 18 return self.lb_place 19 def __init__(self): 20 self.root=tk.Tk() 21 self.root.geometry('800x400') 22 self.label=tk.Label(self.root) 23 self.label["font"]=("Helvetica",50) 24 self.label["bg"]="green" 25 self.label["fg"]="white" 26 self.label.place(x=100,y=200) 27 self.lb_place = tk.Label(self.root,text="",font=("",30)) 28 self.lb_check = tk.Label(self.root) 29 self.lb_enter = tk.Label(self.root,text="国名を入力してくだせぇ?") 30 self.en = tk.Entry(self.root) 31 self.en.focus_set() 32 self.bt = tk.Button(self.root,text="表示するにょお",command=self.print_txtval) 33 [widget.pack() for widget in (self.lb_enter,self.en,self.bt,self.lb_place)] 34 self.root.bind('<Return>',self.print_txtval)
試したこと
bindする位置を変えたり、ネットで調べたりしました。
補足情報(FW/ツールのバージョンなど)
Python IDLE でじっこうしました。
p.return_place(place) で引数の国名の国名と首都を返し、
p.return_last_time(place) で引数の国名の現在時刻を返してくれます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/25 05:00 編集
2020/07/25 05:10
2020/07/25 05:48
2020/07/25 07:58
2020/07/25 15:57
2020/07/25 16:46
2020/07/26 04:29