1
ファイル名はusercheck.txt
で、各行に名前のリストがあるので、たとえばmyファイルは次のようになります。Tkinterのラベルテキストをテキストファイルから更新する
Kevin
Bob
Sally
Ronnie
O'sullivan
誰かがTkinterプログラムを起動すると、その名前が自動的にリストに追加されます。終了すると、その名前が自動的にテキストファイルから削除されます。誰がオンラインになっているかをリアルタイムで更新するラベルを実装したいと思います。私のラベルを次のコードで更新しようとすると(これは私のコードではありませんが、私の問題が容易に再現できるほど似ています)、このエラーが発生します。ここで
Traceback (most recent call last):
File "C:\Users\Douglas Rouse\Google Drive\Python\throwaway.py", line 16, in <module>
upd()
File "C:\Users\Douglas Rouse\Google Drive\Python\throwaway.py", line 13, in upd
attempt.config(d)
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1330, in configure
return self._configure('configure', cnf, kw)
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1316, in _configure
cnf = _cnfmerge(cnf)
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 100, in _cnfmerge
for c in _flatten(cnfs):
TypeError: object of type 'builtin_function_or_method' has no len()
私のコードは次のとおりです。
import tkinter as tk
root = tk.Tk()
f = open("usercheck.txt", "r").readlines()
attempt = tk.Label(root, text="\n".join(f),bg = "#42f480")
attempt.grid(row=0,column =5)
def upd():
d = open ("usercheck.txt","r").read
attempt.config(d)
upd()
編集 私は私が得る新しいエラーがある.read()
に括弧を忘れてしまったことを実現:
Traceback (most recent call last):
File "C:\Users\Douglas Rouse\Google Drive\Python\throwaway.py", line 13, in <module>
upd()
File "C:\Users\Douglas Rouse\Google Drive\Python\throwaway.py", line 11, in upd
attempt.config(d)
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1330, in configure
return self._configure('configure', cnf, kw)
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1320, in _configure
return self._getconfigure1(_flatten((self._w, cmd, '-'+cnf)))
File "C:\Users\Douglas Rouse\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1308, in _getconfigure1
x = self.tk.splitlist(self.tk.call(*args))
tkinter.TclError: unknown option
"-Kevin
Bob
Sally
Ronnie
O'sullivan"
するために、この段落は、いくつかの句読点が必要です:「私は私がしようとすると、しかし、オンラインで誰が見ている次のコードで私のラベルを更新するために、リアルタイムで更新したラベルを実装したいです私のコードではありませんが、私の問題は容易に再現されるので、私はこのエラーになります。 – nbro