ログ解析スクリプトの基本的なGUIを作成しています。GTK 2x、Glade、Python2.7.3を使用しています。
いくつかのグローバル変数を定義しましたが、GUIテキストボックスへのユーザー入力に応じてそれらを変更する必要があります。全体のレイアウトは空き地で作られています。文字列と値をウィジェットからGUIクラス外の関数に渡す方法のヒントはありますか?
空き地ファイルからのサンプルテキストボックス定義:
<child>
<object class="GtkEntry" id="serverIDtext">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
<property name="text" translatable="yes">Server name.</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
</object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
GUIクラス:
import pygtk
import gtk
import gtk.glade
from pyParse2 import *
class GUI:
def __init__(self):
builder = gtk.Builder()
builder.add_from_file("parsergui.glade")
self.window = builder.get_object("window1")
builder.connect_signals(self)
def on_window_destroy(self, widget, data = None):
gtk.main_quit()
def parseButton(self, widget, data = None):
parseLaunch()
MGに従って編集します。アドバイス:私はあなたの最初のアドバイスを試し、次のようなものを準備しました:
import pygtk
import gtk
import gtk.glade
from pyParse2 import *
class GUI:
def __init__(self):
builder = gtk.Builder()
builder.add_from_file("parsergui.glade")
self.window = builder.get_object("window1")
builder.connect_signals(self)
self.sID = builder.get_object("serverIDtext")
def on_window_destroy(self, widget, data = None):
gtk.main_quit()
def parseButton(self, widget, data = None):
global serverID
serverID = self.sID
print serverID
parseLaunch()
そしてこれを手に入れました:
<gtk.Entry object at 0x2a97a58 (GtkEntry at 0x20e9118)>
私はそれを理解しているので(そしておそらく私は間違っています)、get_textを使用することはできませんが、文字列を返さないget_objectを実行する必要があります。これを回避する方法はありますか?
O_O