Tkinter에서 엔트리에 입력 한 데이터를 얻을 수 없었습니다.
소개
파이썬으로 프로그램을 짜서 실험에서 얻은 데이터를 해석·정리하는 것을 최근 시작했습니다.
내보내면 욕심이 나오고, 파일명이나 데이터의 입력도 GUI 형식으로 해보자! 라고 생각해, 만들었는데, 왠지 엔트리에 입력한 데이터를 취득할 수 없다. . .
여러가지 구구였지만, 내가 하고 싶은 일이 실려 있는 기사를 찾을 수 없었기 때문에, 비망록으로서 기사로 합니다.
하고 싶은 일
항목에 입력한 데이터 검색
환경
· Windows 10 PRO
· Python Ver3.7.3
· Microsoft VS Code에서 동작 확인
처음 쓴 코드
GUItest.py# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
value = EditBox1.get() # エントリに入力されたデータを取得
root.mainloop()
print("value=",value) # データが格納されたことを確認
결과
value 곳에 값이 들어 있지 않다.
검색해도 검색해도 「get()로 문자를 취득한다」라고 밖에 쓰고 있지・・・
왜? ?
대처법
GUItest1.py# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
def func():
global value
print("in the function =",EditBox1.get())
value = EditBox1.get()
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
b = tkinter.Button(text='Exec', command=func)
b.pack()
root.mainloop()
print("value=",value) # データが格納されたことを確認
무엇인가 자극이 없으면(?)데이터를 취득할 수 없는 것이 아닐까 생각하고, 버튼을 붙여, 눌렀을 때에 함수를 기동시키게 했는데, 함수측에서는 데이터를 취득할 수 있는 것을 알았으므로, 그 값을 전체로 사용할 수 있도록 하면 해결했다는 것입니다.
더 좋은 방법(올바른 방법?)이 있다고는 생각합니다만, 사용할 수 있으면 좋기 때문에
(^o^)v
Reference
이 문제에 관하여(Tkinter에서 엔트리에 입력 한 데이터를 얻을 수 없었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Joachim_Sgr/items/d16951ed71eb7da3cb2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
항목에 입력한 데이터 검색
환경
· Windows 10 PRO
· Python Ver3.7.3
· Microsoft VS Code에서 동작 확인
처음 쓴 코드
GUItest.py# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
value = EditBox1.get() # エントリに入力されたデータを取得
root.mainloop()
print("value=",value) # データが格納されたことを確認
결과
value 곳에 값이 들어 있지 않다.
검색해도 검색해도 「get()로 문자를 취득한다」라고 밖에 쓰고 있지・・・
왜? ?
대처법
GUItest1.py# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
def func():
global value
print("in the function =",EditBox1.get())
value = EditBox1.get()
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
b = tkinter.Button(text='Exec', command=func)
b.pack()
root.mainloop()
print("value=",value) # データが格納されたことを確認
무엇인가 자극이 없으면(?)데이터를 취득할 수 없는 것이 아닐까 생각하고, 버튼을 붙여, 눌렀을 때에 함수를 기동시키게 했는데, 함수측에서는 데이터를 취득할 수 있는 것을 알았으므로, 그 값을 전체로 사용할 수 있도록 하면 해결했다는 것입니다.
더 좋은 방법(올바른 방법?)이 있다고는 생각합니다만, 사용할 수 있으면 좋기 때문에
(^o^)v
Reference
이 문제에 관하여(Tkinter에서 엔트리에 입력 한 데이터를 얻을 수 없었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Joachim_Sgr/items/d16951ed71eb7da3cb2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
GUItest.py
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
value = EditBox1.get() # エントリに入力されたデータを取得
root.mainloop()
print("value=",value) # データが格納されたことを確認
결과
value 곳에 값이 들어 있지 않다.
검색해도 검색해도 「get()로 문자를 취득한다」라고 밖에 쓰고 있지・・・
왜? ?
대처법
GUItest1.py# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
def func():
global value
print("in the function =",EditBox1.get())
value = EditBox1.get()
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
b = tkinter.Button(text='Exec', command=func)
b.pack()
root.mainloop()
print("value=",value) # データが格納されたことを確認
무엇인가 자극이 없으면(?)데이터를 취득할 수 없는 것이 아닐까 생각하고, 버튼을 붙여, 눌렀을 때에 함수를 기동시키게 했는데, 함수측에서는 데이터를 취득할 수 있는 것을 알았으므로, 그 값을 전체로 사용할 수 있도록 하면 해결했다는 것입니다.
더 좋은 방법(올바른 방법?)이 있다고는 생각합니다만, 사용할 수 있으면 좋기 때문에
(^o^)v
Reference
이 문제에 관하여(Tkinter에서 엔트리에 입력 한 데이터를 얻을 수 없었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Joachim_Sgr/items/d16951ed71eb7da3cb2d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# モジュールのインポート
import os, tkinter, tkinter.filedialog, tkinter.messagebox
def func():
global value
print("in the function =",EditBox1.get())
value = EditBox1.get()
# ウインドウ
root = tkinter.Tk()
root.title(u"テストプログラム")
root.geometry("400x300")
# データ数入力
Static1 = tkinter.Label(text=u'データ数')
Static1.place(x=5,y=5)
EditBox1 = tkinter.Entry(width=5)
EditBox1.place(x=100, y=5)
b = tkinter.Button(text='Exec', command=func)
b.pack()
root.mainloop()
print("value=",value) # データが格納されたことを確認
Reference
이 문제에 관하여(Tkinter에서 엔트리에 입력 한 데이터를 얻을 수 없었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Joachim_Sgr/items/d16951ed71eb7da3cb2d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)