2012-05-05 34 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中抓取文本。

看看這個link關於如何在pygtk的

+0

這個例子中救了我的日常使用信號一個簡單的例子。 – darxsys