C++ GTK:使小部件变小(调整小尺寸)

C++ GTK:使小部件变小(调整小尺寸),c++,c,gtk,gtkmm,C++,C,Gtk,Gtkmm,我试图使Gtk小部件变小而不是变大,但它就是不起作用。这个问题是由于gtk不允许我调整小部件的大小,使其不再完全显示 到目前为止我尝试过的方法: 使用设置大小请求。失败了 使用set\u size\u request,然后执行queue\u draw或queue\u resize。失败了 while(gtk_events_pending())gtk_main_iteration()。失败了 试图使用分配。我不确定我是否做对了。但是失败了(gtk\u widget\u size\u alloca

我试图使Gtk小部件变小而不是变大,但它就是不起作用。这个问题是由于gtk不允许我调整小部件的大小,使其不再完全显示

到目前为止我尝试过的方法:

  • 使用
    设置大小请求
    。失败了
  • 使用
    set\u size\u request
    ,然后执行
    queue\u draw
    queue\u resize
    。失败了
  • while(gtk_events_pending())gtk_main_iteration()。失败了
  • 试图使用
    分配
    。我不确定我是否做对了。但是失败了(
    gtk\u widget\u size\u allocate
    &
    set\u allocation
  • 将小部件放入
    固定的
    容器中,然后调整容器的大小。失败了

我只是不明白如何让Gtk忽略小部件的最小大小?我之所以这样做是因为我想“折叠”一个小部件,即每隔几毫秒它就会变得更小。

哪个版本的GTK+?哪个部件?你能模拟一些屏幕截图来展示你的意思吗?它的GTK3.16(使用gtkmm)和我添加的固定容器中的小部件是一个充满按钮的工具栏和一个充满按钮的框。我的意思其实很简单:我在全屏模式下使用它,小部件是我在全屏模式下的工具栏。如果光标空闲,我想淡出工具栏。因此,使用不透明度也是一个解决方案,但它也不起作用。我更愿意使用大小进行淡入淡出:工具栏将“折叠”/收缩到窗口的边框,直到其高度为0且不再可见。+如果我向固定容器添加大小,而不是试图使其变小,则我的代码工作正常。看看GtkExpander/GtkRevealer。我尝试过,但它对此不起作用,因为扩展器不能像我希望的那样“随时间”折叠(就像它手动调整大小一样,只是不能使它变小)。此外,我似乎没有找到一种方法来删除扩展器的箭头和标签,这样它将只执行“逻辑”,而不会显示自己。感谢您的回复^^哪个版本的GTK+?哪个部件?你能模拟一些屏幕截图来展示你的意思吗?它的GTK3.16(使用gtkmm)和我添加的固定容器中的小部件是一个充满按钮的工具栏和一个充满按钮的框。我的意思其实很简单:我在全屏模式下使用它,小部件是我在全屏模式下的工具栏。如果光标空闲,我想淡出工具栏。因此,使用不透明度也是一个解决方案,但它也不起作用。我更愿意使用大小进行淡入淡出:工具栏将“折叠”/收缩到窗口的边框,直到其高度为0且不再可见。+如果我向固定容器添加大小,而不是试图使其变小,则我的代码工作正常。看看GtkExpander/GtkRevealer。我尝试过,但它对此不起作用,因为扩展器不能像我希望的那样“随时间”折叠(就像它手动调整大小一样,只是不能使它变小)。此外,我似乎没有找到一种方法来删除扩展器的箭头和标签,这样它将只执行“逻辑”,而不会显示自己。谢谢你的回复^^