- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过使用 Gtk::Builder
的 get_widget
函数,可以很简单地为任何小部件获取 Glib::RefPtr
,但是当在获取其他对象时,相应的 get_object
函数返回 Glib::Object
,不容易转换为所需的类(例如 Gtk::TreeView
).
这样做的合适方法是什么?
最佳答案
最好使用Glib::RefPtr<TheDerivedype>::cast_dynamic(object)
.
但是,Gtk::TreeView(您在问题中提到的)是一个 Gtk::Widget,因此您将使用 get_widget() 而不是 get_object()。
如果你的意思是,Gtk::TreeModel,好吧,在 Glade 中定义 GtkTreeModels,用于 gtkmm C++ 代码,这可能是可行的,因为我们最近在 gtkmm 中添加了一些修复: https://bugzilla.gnome.org/show_bug.cgi?id=742637
但这不是我们通常期望的工作 - 许多 C++ 开发人员更喜欢在代码中完全定义 DataModel 结构的静态类型安全,而不依赖于 C 和 C++ 类型之间的转换。例如:https://developer.gnome.org/gtkmm-tutorial/stable/sec-treeview-model.html.en#treeview-model-liststore
关于c++ - 如何使用 Gtk::Builder 将正确的 Glib::RefPtr 存储到非小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31230339/
在 Gtk 中,我有一个这样的类层次结构: Gtk::ListStore 派生自 Gtk::TreeModel 来自Gtk::TreeView我可以得到 get_model()一个Glib::RefP
我有这段代码,运行良好: WebKit::WebView web; // later: { Glib::RefPtr settings = WebKit::WebSettings::creat
我正在使用 C++ 和 gtkmm 库编写一个小的 GTK3 应用程序。 在 gtkmm 文档中,通常有一些具体实例,例如 Gtk::Application、Gtk::Builder、Gtk::Sta
通过使用 Gtk::Builder 的 get_widget 函数,可以很简单地为任何小部件获取 Glib::RefPtr,但是当在获取其他对象时,相应的 get_object 函数返回 Glib::
我无法将 Glib::RefPtr 转换为 GtkWidget,其中 T 派生自 Widget: #include #include #include #include class MyPic
来自 Gtkmm 的人是 comparing Glib::RefPtr与 std::auto_ptr<> : Glib::RefPtr is a smartpointer. Specifically,
Glib::RefPtr 允许通过“->”取消引用,但不允许通过“*”取消引用。这是为什么? 我当然可以: class Foo {}; Glib::RefPtr fooPtr; fooPtr.o
我正在尝试保留 std::vector的 Gtk::Widget我正在展示(并且可能会)在 Gtk::Container 之间移动 目前我保留一个 Gtk::Notebook这基本上是与 std::v
我是一名优秀的程序员,十分优秀!