我正在使用 Python 和 pyGTK 开发一个项目。我有一个窗口,其唯一目的是显示图像。除非图像太大而无法适应屏幕,否则默认情况下窗口不应显示滚动条。
所以我做的是这样的:
window = gtk.Window()
window.resize(image.size[0], image.size[1])
scrolled = gtk.ScrolledWindow()
scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled.set_shadow_type(gtk.SHADOW_NONE)
area = gtk.DrawingArea()
area.set_size_request(image.size[0], image.size[1])
window.add(scrolled)
scrolled.add_with_viewport(area)
area.show()
scrolled.show()
window.show()
但这并不完全奏效。结果窗口有点太小,因此会出现滚动条。
为了使它起作用,我必须将第二行改为:
window.resize(image.size[0] + 2, image.size[1] + 2)
但这很丑陋,并且不适用于所有系统。在我的 Windows 框中,我必须使用 + 3。
我该怎么做才能确保窗口足够大以容纳图像?