2012-05-05 4 views
1

私はPyGTK GUIプロジェクトに取り組んでいます。私が知りたいのは、gtk.Entryから変数値を取得する方法はありますか?PyGTKのgtk.Entryから値を取得

 text=gtk.Entry(0) 
    text.set_activates_default(True) 
    port = text.get_text() 

これは機能しません。テキストボックスはデフォルトでは空で、get_text()は空の文字列を返します。

答えて

0

検索方法は正しいですが、作成直後に、ユーザーはまだフィールドにanytingを入力できません。

フィールドに実際に何かを入力し、その後get_text()を呼び出すのを待つ必要があります。

0

テキストフィールドがデフォルトで空であるため、get_text()は空の文字列を返します。 ボタンコールバック関数またはその他の関数を追加します。したがって、その関数が呼び出されるときはいつでも、エントリから文字列を取得します。

text.gtk_text() 

ここでselfを使いたいかもしれません。あなたには、いくつかの他の機能ではなく、メインスレッドでエントリにアクセスすることがありますから、空の文字列を返します)(

self.text=gtk.Entry() 
self.text.set_activates_default(True) 

def foo(self,widget,event): # some callback function 
    port = self.text.get_text() 
    print port 
2

これは、テキストボックスはデフォルトでは空であるように動作しない、とGET_TEXTを使用し、何か案は?

いくつかのユーザー入力後にテキストを取得するように思われます。これを行うために、gtkは何かをする何らかの関数にユーザアクションを接続するためのシグナルを使います。あなたの場合、この関数は入力からテキストを取得します。あなたがユーザーとのやりとりを記述していないので、私は最も簡単な例を挙げます。あなたがボタンをクリックしたとき、その時点でのエントリーで入力されているものをつかむでしょう、あなたのGUIで を持っていた場合、あなたはこれを行うだろう:

:次に

button = gtk.Button('Click Me') 
button.connect('clicked', on_button_click) 

を、あなたはon_button_click関数を定義します

def on_button_click(self, widget, data=None): 
    port = text.get_text() 
    print 'Port: %s' % port 

上記のサンプルコードでは、クリックするとgtk.Entryのテキストを取得します。

チェックアウトPyGTKのこの例では、私の一日保存

+0

で信号を使用する方法の簡単な例については、このlink。 – darxsys

関連する問題