【Python GUI tkinterサンプル】ttk.Entryの入力された値を取得しコンソールに出力する

<tkinterトップページに戻る>

使用するオプション

  • textvariable

使い方

var = StringVar()
ttk.Entry(textvariable=var)

ttk.Entryのtextvariableオプションに対してWidget変数を与えることでEntryで入力された値を取得することが可能になる。

値を取得するするときは、

下記のようにWidget変数から直接取得するか、Widgetを経由して取得する。

var = StringVar()
entry=ttk.Entry(textvariable=var)
#Widget変数から取得
var.get()
#EntryWidget自身から取得
entry.get()

 

サンプル画像

サンプルコードを実行

Entry_getvalue

printボタンを押すことで入力された値がコンソール上に出力される

Entry_getvalue1

 

サンプルコード

from tkinter import *
import tkinter.ttk as ttk

class EntrySampleGetValue(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.entry_variable = StringVar()
        self.createWidgets()
        self.pack()

    def createWidgets(self):
        self.entry = ttk.Entry(self,textvariable = self.entry_variable)
        self.entry.pack()
        button = ttk.Button(self,text="print",command=self.getEntryText)
        button.pack()

    def getEntryText(self):
        print("get variable:",self.entry_variable.get())
        print("get entry value:",self.entry.get())

if __name__ == '__main__':
    master = Tk()
    master.title("EntrySampleGetValue")
    master.geometry("300x50")
    EntrySampleGetValue(master)
    master.mainloop()

あわせて読みたい