PyGTK Изменить прозрачность окна с помощью ползунка - PullRequest
2 голосов
/ 18 июля 2011

Как я могу изменить прозрачность окна с помощью ползунка?

Я сделал код, но застрял на том, куда идти.

#!/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()

1 Ответ

3 голосов
/ 18 июля 2011
#!/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()
...