【问题标题】:PyGtk - Call function when window position changes?PyGtk - 窗口位置更改时调用函数?
【发布时间】:2013-06-03 22:05:34
【问题描述】:

我有一个基本的 python gtk 程序来显示窗口的位置,有没有一种简单的方法可以在它移动时更新它?

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

    self.pos_label = gtk.Label()
    vbox.add(self.pos_label)

    self.add(vbox)

    self.update_pos()
    self.show_all()


  def update_pos(self):
    ''' Get window position, display + log '''
    pos = str( self.get_position() )
    print( pos )
    self.pos_label.set_label( pos )


app()
gtk.main()

【问题讨论】:

    标签: python gtk pygtk


    【解决方案1】:

    最后只需要附加到“配置事件”:

    #!/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("Window Position 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)
    
        self.pos_label = gtk.Label()
        vbox.add(self.pos_label)
    
        self.add(vbox)
    
        self.update_pos()
        self.show_all()
    
        self.connect("configure-event", self.update_pos)
    
    
      def update_pos(self, *args):
        ''' Get window position, display + log '''
        pos = str( self.get_position() )
        print( pos )
        self.pos_label.set_label( pos )
    
    
    app()
    gtk.main()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-24
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      相关资源
      最近更新 更多