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