2009-10-19 61 views
2

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

要做到这一点 - 我把“Gtk :: DrawingArea”小部件放到“Gtk :: ScrolledWindow”容器中。因此,当我将大小为“(100,100)”的图片放入绘图区域时 - >我将调用适当的成员函数“Gtk :: DrawingArea :: set ___ size_request(100,100)”,它将设置绘图区域的大小为(100,100)像素。因此,如果“Gtk :: ScrolledWindow”比它内部的“Gtk :: DrawingArea”更小,那么滚动的窗口应该变成“可滚动” - 但问题是,它不起作用!!!!!

所以有人可以解释我该怎么做?

谢谢。

回答

3

在你的ScrolledWindow和DrawingArea之间添加一个GTK :: Viewport。

+0

这通常不需要手动添加一个GTK ::视口gtkmm的。如果是,那么请有人提交测试用例的错误。 – murrayc 2013-09-12 07:34:29

1

如果有人仍然在寻找一个答案,是有办法做到这一点不基于GTK ::视窗,通过使用该功能

Gtk::DrawingArea::set_size_request(width,height); 
相关问题