C++ Gtkmm-“;Gtk::DrawingArea“;在;Gtk::ScrolledWindow“;?

C++ Gtkmm-“;Gtk::DrawingArea“;在;Gtk::ScrolledWindow“;?,c++,gtkmm,C++,Gtkmm,我正在使用“gtkmm”制作一个GUI程序。 我想为“Gtk::DrawingArea”小部件绘制一些图形,但我希望该小部件能够“调整大小”,所以当我绘制一条从“(0,0)”到“(50,50)”像素的线时,绘图区域的大小应该调整为一个正方形(50,50)”;例如,当我从“(0,0)”到“(100,70)”像素绘制一条线时,绘图区域的大小应该调整为一个大小为“(100,70)”的矩形 为此,我将“Gtk::DrawingArea”小部件放入“Gtk::ScrolledWindow”容器中 因此,当

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

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

因此,当我将大小为“(100100)”的图片放入绘图区域->时,我将调用相应的成员函数“Gtk::DrawingArea::set_uuuusize_request(100100)”,该函数将绘图区域的大小设置为(100100)像素。因此,如果“Gtk::ScrolledWindow”比其中的“Gtk::DrawingArea”小,则滚动窗口应更改为“scrollable”-但问题是,它不工作

谁能解释一下我该怎么做


谢谢。

在滚动窗口和绘图区域之间添加一个GTK::Viewport。

如果有人仍在搜索此问题的答案,有一种方法可以在没有GTK::Viewport的情况下使用此功能来完成此操作

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

通常不需要使用gtkmm手动添加Gtk::Viewport。如果是,那么有人应该在测试用例中提交一个bug,请。