Gtkmm - “Gtk :: ScrolledWindow”中的“Gtk :: DrawingArea”?

时间:2009-10-19 14:07:47

标签: c++ gtkmm

我使用“gtkmm”制作GUI程序。 我想在“Gtk :: DrawingArea”小部件中绘制一些图形,但我希望该小部件可以“调整大小”,所以当我绘制时,让我们说一行从“(0,0)”到“(50,50) “像素 - 绘图区域应调整为大小的正方形”(50,50)“;当我例如从“(0,0)”画一条线来说“(100,70)”像素时 - 绘图区域应调整为大小为“(100,70)”的矩形。

要做到这一点 - 我将“Gtk :: DrawingArea”小部件放入“Gtk :: ScrolledWindow”容器中。

所以当我把尺寸为“(100,100)”的图片放到绘图区域时 - &gt;我将调用相应的成员函数“Gtk :: DrawingArea :: set ___ size_request(100,100)”,它将绘图区域的大小设置为(100,100)像素。因此,如果“Gtk :: ScrolledWindow”比其中的“Gtk :: DrawingArea”小“,则滚动的窗口应更改为”可滚动“ - 但问题是,它不起作用!!!!! < / p>

所以有人可以解释我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:4)

在ScrolledWindow和DrawingArea之间添加GTK :: Viewport。

答案 1 :(得分:2)

如果有人仍然在搜索答案,有一种方法可以在没有Gtk :: Viewport的情况下使用此功能

Gtk::DrawingArea::set_size_request(width,height);