C++ 小部件过大时的Gtk 3
我是GTK3.0+的新手,我想知道当图像尺寸太大时人们如何处理这种情况C++ 小部件过大时的Gtk 3,c++,gtk,gtk3,opencv3.0,C++,Gtk,Gtk3,Opencv3.0,我是GTK3.0+的新手,我想知道当图像尺寸太大时人们如何处理这种情况 是否可能有一个固定大小的框架来显示图像(据我所知,容器大小似乎会根据它所持有的小部件大小而变化,gtk_覆盖似乎是可能的,但我不确定是否有其他方法可以做到这一点 如果步骤1是可能的,当图像变得太大时,在固定大小的区域下,当我们在图像周围移动时,我们可以看到图像的不同部分(超出该区域的其他部分不显示),这是什么想法 如果你知道怎么做,这很容易。在C中: GdkPixbuf *pixbuf; GtkWidget *preview
如果你知道怎么做,这很容易。在C中:
GdkPixbuf *pixbuf;
GtkWidget *preview_image;
preview_image = gtk_image_new ();
pixbuf = gdk_pixbuf_new_from_file_at_scale (file_uri,
128,
128,
TRUE, NULL);
gtk_image_set_from_pixbuf (GTK_IMAGE(preview_image), pixbuf);
pixbuf与图像
基本上,你不能直接从文件中将图像放入任何类型的滚动“窗口”。相反,将文件加载到pixbuf中,pixbuf进入图像,所有大小都应该自动调整。因此我尝试了滚动视图以外的其他方法,我使用的是gtk_fixed,如果我们移动一个小部件,它的大小将增加t关上窗户 后来我切换到gtk_布局(包括gtk_固定的功能),并设置调整,以固定布局的大小
很抱歉在前面的回答中再次出现混淆!谢谢!还有第二个问题,如果我想将图像放大,是否可以将容器的大小固定下来,以便当图像变大时,超出容器的部分不会显示在容器中。(因为通常容器会随着图像而变大。A,可能吧?请为您的请求提供一个用例和代码。在不知道您正在做什么以及您尝试了什么的情况下,很难推荐解决方案。好的,很抱歉造成混淆。例如,我有一个200*200的窗口,添加一个容器,向容器添加一个100*100的图像,如果e移动图像,假设我们将其向右移动,当图像到达窗口的边界时,窗口将随着我移动图像而增长。我想防止容器调整大小。我想知道我是否清楚地表明…哦,看起来滚动窗口是一个很好的解决方案。我尝试一下!谢谢!