PyGTK:有没有办法计算窗口的最佳尺寸?

时间:2010-12-06 04:38:16

标签: pygtk

我的大多数GUI编程都是用Java完成的,你可以使用.pack()方法设置窗口应该具有的首选大小。我现在正在学习PyGTK,并想知道是否存在这样的东西。

2 个答案:

答案 0 :(得分:1)

您不需要打包方法。如果未设置大小,窗口将调整为其最小大小。 您可以使用window.set_size_request(-1,-1)取消设置以前的任何大小。

答案 1 :(得分:0)

不幸的是......不是我所知道的。我使用以下技巧,使用各种GTK和GDK方法在app启动时计算当前监视器的屏幕大小,并调整根窗口的大小以获得一定比例的填充。

请注意,rootGtkWindow。当然,对于水平和垂直填充,您可以使用SCREEN_FILL的两个值。

SCREEN_FILL = 0.7

class MainApp(object):

    def set_initial_size(self):        
        screen = self.root.get_screen()
        monitor = screen.get_monitor_at_window(self.root.get_window())
        geom = screen.get_monitor_geometry(monitor)
        self.root.set_resize_mode(gtk.RESIZE_QUEUE)
        self.root.resize(
                         int(geom.width * SCREEN_FILL),
                         int(geom.height * SCREEN_FILL))