2017-10-30 12 views
-1

私は複数の整数をカンマで区切って入力できるようにする入力ボックスを用意しています。どのように私は変数として格納することができますこのエントリボックスからPythonのリストにエントリを取得します。エントリボックスからPythonリストにTkinterエントリを作成する方法

ありがとうございます。

P.S.具体的なコード例が必要な場合は、返信してください。

+2

あなたの質問にいくつかのコード(具体的にはボタンの定義)を追加してください。私たちはあなたの質問をよく理解し、場合によっては問題を特定することができます。コードを追加する前に[最小、完全、および検証可能なサンプルを作成する方法](https://stackoverflow.com/help/mcve)をお読みください。 –

+0

https://docs.python.org/3.6/library/stdtypes.html#str.split –

答えて

1

これにはさまざまな方法があります。最初の「最も単純な」はsplit()です。上記のスニペットで

from tkinter import * 

root = Tk() 

def command(): 
    print(entry.get().split(" ")) 

entry = Entry(root) 
button = Button(root, text="Print", command=command) 

entry.pack() 
button.pack() 

root.mainloop() 

我々は単に私たちの区切り文字として " "(空白文字)を使用して、( entry.get()から返される) Entryの値に split()を呼び出します。したがって、空白文字で区切られたすべての単語は、 listのそれ自身の要素に配置されます。

たとえば、各要素をコンマで区切りたい場合は、区切り文字を","に更新するか、空白を削除する場合は", "としてください。


私が主張され、これを行うための別の方法は、より多くのユーザーフレンドリーは、リストの各要素に対して異なるEntryウィジェットを持つことです。

from tkinter import * 

root = Tk() 

labels = [Label(root, text="Value1:"), Label(root, text="Value2:"), Label(root, text="Value3:"), Label(root, text="Value4:"), Label(root, text="Value5:")] 
entries = [Entry(root), Entry(root), Entry(root), Entry(root), Entry(root)] 

for label, entry in zip(labels, entries): 
    label.pack() 
    entry.pack() 

def command(): 
    print([entry.get() for entry in entries]) 

Button(root, text="print", command=command).pack() 

root.mainloop() 

Buttonが押されてその内容のlistを返されるたびEntryウィジェットのそれぞれを介して、この意志サイクル。

関連する問題