Python3 Gtk3 нежелательное мерцание при перемещении окна - PullRequest
0 голосов
/ 04 мая 2020

Python3 Gtk3 Нежелательное мерцание при перемещении окна Я хочу отобразить свое окно на правой стороне монитора, чуть ниже верхней панели Ubuntu 18.04. Чтобы немного вернуть окно, мне нужно знать геометрию монитора и ширину окна. Я не буду знать windows истинную ширину до тех пор, пока .show_all () , но тогда я также получу мерцание окна перед его перемещением. Размер окна изменится в зависимости от того, что я анализирую с net. Есть ли способ скрыть окно или переместить его за пределы экрана, чтобы определить его ширину до того, как оно будет перемещено туда, куда я хочу? Спасибо. Это простой пример демонстрации нежелательного мерцания окна: ...

    #!/usr/bin/env python3

    import gi

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


    class MyWindow(Gtk.Window):
        def __init__(self):
            Gtk.Window.__init__(self, title="Title")

            self.set_default_size(200, 200)
            self.lbl = Gtk.Label("This is a long label that will expand the width of the window")
            self.add(self.lbl)

        def moveWin(self):
            scrn = self.get_screen()
            geometry = scrn.get_monitor_geometry(0)
            #move window to right side of monitor, just below topbar
            self.move(geometry.width-self.get_size()[0]-10, 55)
            print(geometry.width)
            print(self.get_size()[0])

    win = MyWindow()
    win.connect("destroy", Gtk.main_quit)
    #win.moveWin()
    win.show_all()
    win.moveWin()
    Gtk.main()

...

...