我的大多数GUI编程都是用Java完成的,你可以使用.pack()方法设置窗口应该具有的首选大小。我现在正在学习PyGTK,并想知道是否存在这样的东西。
答案 0 :(得分:1)
您不需要打包方法。如果未设置大小,窗口将调整为其最小大小。 您可以使用window.set_size_request(-1,-1)取消设置以前的任何大小。
答案 1 :(得分:0)
不幸的是......不是我所知道的。我使用以下技巧,使用各种GTK和GDK方法在app启动时计算当前监视器的屏幕大小,并调整根窗口的大小以获得一定比例的填充。
请注意,root
是GtkWindow
。当然,对于水平和垂直填充,您可以使用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))