其他分享
首页 > 其他分享> > c – 无法获得小部件的高度/宽度 – gtkmm

c – 无法获得小部件的高度/宽度 – gtkmm

作者:互联网

我正在使用gtkmm编写应用程序.

我写了一个简单的widget类,我只想在某些情况下在应用程序的主窗口中显示它.否则,我希望标签“禁用”可见.

为了实现这一点,我将小部件和标签打包到一个VBox中,然后我展示()并隐藏()它们以交换它们.

但是,自定义小部件远远大于标签,因此我需要稍微调整标签大小.

我知道我可以使用label.set_size_request(x,y),当我手动输入尺寸时,它可以工作.但我知道,小部件的大小可能有所不同,具体取决于使用的Gtk主题等.

我喜欢设置与小部件完全相同的标签*.但是,使用widget.get_height()*不起作用 – 它总是返回1.

也许一个线索是我在主窗口的构造函数中执行此操作.

最佳答案:

我在gtkmm中没有做太多,更多在pygtk中.但是我想从get_width / get_height获取有意义的值,必须实现一个小部件,这是一个可见的X窗口.我猜你的小部件在窗口构造函数中还不可见.

我建议您使用gtk.Notebook,隐藏其标签.然后gtk.Notebook将控制标签和自定义小部件的大小.

标签:c++,gtk,gtkmm,linux,widget
来源: https://codeday.me/bug/20190515/1109386.html