2011-07-18 87 views
1

我將如何能夠從滑塊更改窗口的不透明度?PyGTK更改窗口不透明度通過滑塊

我做了代碼,但我堅持要從這裏走。

#!/usr/bin/python 

import gtk 

class app(gtk.Window): 

    def __init__(self): 
    super(app, self).__init__() 

    self.set_position(gtk.WIN_POS_CENTER) 
    self.set_title("Opacity Slider Test") 
    self.set_decorated(True) 
    self.set_has_frame(False) 
    self.set_resizable(False) 
    self.set_default_size(320, 50) 
    self.connect("destroy", gtk.main_quit) 
    vbox = gtk.VBox(spacing=4) 
    hbox = gtk.HBox(spacing=4) 

    scale = gtk.HScale() 
    scale.set_range(0, 100) 
    scale.set_size_request(320, 25) 
    scale.connect("value-changed", self.opacity_slider) 

    vbox.add(scale) 
    self.add(vbox) 
    self.show_all() 

    def opacity_slider(self, w): 


app() 
gtk.main() 
+0

是這樣,那麼代碼工作? – ptomato

回答

2
#!/usr/bin/python 

import gtk 

class app(gtk.Window): 

    def __init__(self): 
    super(app, self).__init__() 

    self.set_position(gtk.WIN_POS_CENTER) 
    self.set_title("Opacity Slider Test") 
    self.set_decorated(True) 
    self.set_has_frame(False) 
    self.set_resizable(False) 
    self.set_default_size(320, 50) 
    self.connect("destroy", gtk.main_quit) 
    vbox = gtk.VBox(spacing=4) 
    hbox = gtk.HBox(spacing=4) 

    scale = gtk.HScale() 
    scale.set_range(0, 100) 
    scale.set_size_request(320, 25) 
    scale.set_value(100) 
    scale.connect("value-changed", self.opacity_slider) 

    vbox.add(scale) 

    opacity = gtk.Label() 
    opacity.set_label("Change Opacity") 
    vbox.add(opacity) 

    self.add(vbox) 
    self.show_all() 

    def opacity_slider(self, w): 
    self.set_opacity(w.get_value()/100.0) 

app() 
gtk.main() 
+0

我的chages工作:'opacity_slider'函數,和初始值'scale.set_value(100)' – saeedgnu

+0

現在我明白了。謝謝您的幫助! –