2017-06-19 70 views
1

我是新來的python,我目前正試圖從一個已經在Glade中創建的旋轉按鈕獲取一個值。我有以下的代碼,試圖得到該按鈕的值,然後用它來過濾數據:從旋轉按鈕獲取價值Glade/GTK3(python)

import gi 
gi.require_version('Gtk', '3.0') 
from gi.repository import Gtk 

class Handler: 

    def on_spinbutton1_value_changed(self, SpinButton): 
     Area = self.builder.get_object("spinbutton1") 
     Area = self.Area.get_value_as_int() 
     print Area 

builder = Gtk.Builder() 
builder.add_from_file("DataApp.glade") 
builder.connect_signals(Handler()) 

window = builder.get_object("MainWindow") 
window.show_all() 

Gtk.main() 

我沒有得到任何錯誤,但是輸入的號碼也不能打印。有關如何讓這個運行的任何建議?任何幫助是極大的讚賞!

回答

1

我猜你的程序格式是錯誤的。試試這個:

import gi 
gi.require_version('Gtk', '3.0') 
from gi.repository import Gtk, GdkPixbuf, Gdk 
import os, sys 

UI_FILE = "DataApp.glade"  

class GUI: 
    def __init__(self):  
     self.builder = Gtk.Builder() 
     self.builder.add_from_file(UI_FILE) 
     self.builder.connect_signals(self)  
     window = self.builder.get_object('MainWindow')  
     window.show_all() 

    def on_spinbutton1_value_changed(self, spinbutton): 
     print spinbutton.get_value_as_int() 

def main(): 
    app = GUI() 
    Gtk.main() 

if __name__ == "__main__": 
    sys.exit(main())