使用(PY)GTK在调整大小时自动缩放绘图区域

0 投票
1 回答
812 浏览
提问于 2025-04-16 18:14

我该如何在窗口调整大小时缩放gtk.DrawingArea?我正在写一段代码,会在DrawingArea中绘制一些颜色,这些颜色会被添加到一个gtk.Table的单元格里。我只需要让这个图像在单元格的整个空间里拉伸。

抱歉我的英语不好。谢谢!

1 个回答

1

首先,创建一个表格时要把 homogeneous 选项关掉:

table = gtk.Table(rows=1, columns=1, homogeneous=False)

如果不关掉 homogeneous,那么每个表格单元格的宽度和高度都会和你的绘图区域(DrawingArea)一样大。

接下来,把绘图区域连接到表格上:

  table.attach(child, left_attach, right_attach, top_attach, bottom_attach,
           xoptions=EXPAND|FILL, yoptions=EXPAND|FILL, xpadding=0, ypadding=0)

xoptionsyoptions 保持为 EXPAND|FILL,这样绘图区域就会自动扩展。如果表格也设置为扩展(默认情况下,当你使用 toplevelWindow.add(table) 时就是这样),那么当窗口大小改变时,绘图区域也会自动调整大小。

想了解更多信息,可以查看这个网站:pygtk 表格文档

撰写回答