2017-03-05 1 views
1

각 파일에 usercheck.txt 파일 이름이 있습니다. 예를 들어 내 파일은 다음과 같습니다.텍스트 파일에서 Tkinter 레이블 텍스트 업데이트

Kevin 
Bob 
Sally 
Ronnie 
O'sullivan 

누군가가 Tkinter 프로그램을 시작하면 이름이 자동으로 목록에 추가됩니다. 사용자가 파일을 닫으면 이름이 텍스트 파일에서 자동으로 제거됩니다. 누가 온라인인지를 실시간으로 업데이트하는 라벨을 구현하고 싶습니다. 내가 시도하고 다음 코드 (꽤 내 코드가 아니지만 내 문제는 쉽게 재현 할 정도로 충분히 유사)로 내 레이블을 업데이 트하면이 오류가 발생합니다.

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" 
: 나는

내가 할 새로운 오류가 나는 .read()에 괄호를 잊어 버린 것을 깨닫게 편집

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() 

: 여기

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() 

내 코드입니다
+0

이 단락은 일부 문장 부호가 필요합니다 "나는 내가하려고하지만 경우 온라인 누구보고있는 다음 코드를 사용하여 내 라벨을 업데이트하기 위해 실시간으로 업데이트하는 라벨을 구현하려면 내 코드는 아니지만 충분히 유사하므로 문제가 쉽게 재현되어이 오류가 발생합니다. " – nbro

답변

1

함수 config은 tkinter의 다양한 위젯에 사용할 수 있습니다. 너비, 높이, 텍스트 또는 글꼴과 같은 위젯에 대한 내용을 변경하는 데 사용됩니다. 레이블의 텍스트를 변경한다고 가정합니다.

변경 attempt.config(d)

attempt.config(text = d)

관련 문제