3

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

为此,我将“Gtk::DrawingArea”小部件放入“Gtk::ScrolledWindow”容器中。

所以当我把一张大小为“(100, 100)”的图片放到绘图区时——>我会调用相应的成员函数“Gtk::DrawingArea::set___size_request(100, 100)”,它会设置图片的大小绘图区域为 (100, 100) 像素。因此,如果“Gtk::ScrolledWindow”比其中的“Gtk::DrawingArea”“小”,则滚动窗口应更改为“可滚动” - 但问题是,它不起作用!!!!!!!

那么有人能解释一下我该怎么做吗?

谢谢。

4

2 回答 2

4

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

于 2009-10-19T23:43:59.603 回答
2

如果有人仍在寻找这个问题的答案,有一种方法可以在没有 Gtk::Viewport 的情况下使用这个函数来做到这一点

Gtk::DrawingArea::set_size_request(width,height);   
于 2014-07-14T05:11:13.700 回答