GTK防止gtk_container_remove移除组件后被销毁

这篇具有很好参考价值的文章主要介绍了GTK防止gtk_container_remove移除组件后被销毁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

gtk_container_remove移除容器内组件

gtk_container_remove ()
void                gtk_container_remove                (GtkContainer *container,
                                                         GtkWidget *widget);
Removes widget from container. widget must be inside container. Note that container will own a reference to widget, and that this may be the last reference held; so removing a widget from its container can destroy that widget. If you want to use widget again, you need to add a reference to it while it's not inside a container, using g_object_ref(). If you don't want to use widget again it's usually more efficient to simply destroy it directly using gtk_widget_destroy() since this will remove it from the container and help break any circular reference count cycles.

container :

a GtkContainer
widget :

a current child of container

为了移除后还可以继续使用组件,使用g_object_ref增加对象的引用计数

g_object_ref ()
gpointer            g_object_ref                        (gpointer object);
Increases the reference count of object.

与之对应的是g_object_unref,减少对象引用计数,释放对象文章来源地址https://www.toymoban.com/news/detail-662142.html


g_object_unref ()
void                g_object_unref                      (gpointer object);
Decreases the reference count of object. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

到了这里,关于GTK防止gtk_container_remove移除组件后被销毁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【c/python】用GTK实现一个带菜单的窗口

    在GTK中创建一个带菜单的窗口,可以通过使用`Gtk.MenuBar`、`Gtk.Menu 和 Gtk.MenuItem`组件来构建菜单。以下是一个基本的例子,展示了如何使用Python的`PyGObject`库创建一个简单的带菜单栏的GTK窗口。 在这个例子中: - 我们创建了一个窗口类`MenuExampleWindow`来包含菜单的逻辑。 - 使用

    2024年02月02日
    浏览(34)
  • Ubuntu20.4 Mono C# gtk 编程习练笔记(三)

    Mono对gtk做了很努力的封装,即便如此仍然与System.Windows.Form中的控件操作方法有许多差异,这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype,下面的函数当Button12点击后其标签名变为

    2024年01月18日
    浏览(43)
  • Ubuntu20.4 Mono C# gtk 编程习练笔记(二)

    界面设计习练后,下面写一些程序设计心得。 先看一下程序总体结构,先在program.cs中找到main入口,在命名空间下是MainClass类,Main函数进入后首先建立应用程序环境 Application.Init,然后对MainWindow进行实例化,显示窗体并运行程序 Application.Run()。 main - application init - mainwindow{

    2024年01月21日
    浏览(44)
  • Ubuntu20.4 Mono C# gtk 编程习练笔记(一)

    Mono是Linux环境下C#的开发、编译及运行环境。gtk是gnome独具特色的图形库,Mono对它进行了C#封装。Linux环境下,许多的编程语言使用gtk界面库,有比较好的编程群众基础。另外,Mono相对于DOTNET来说要轻量许多,它们有着不同的定位,未来C# xamarin.forms定位在移动设备,现在Mono的

    2024年01月17日
    浏览(45)
  • Gtk Unable to load resource for composite template

    在使用 GNOME Builder 构建应用时,设 gnome_semilab_window 为应用主窗口,实现在 gnome-semilab-window.c 中;设 gsp_create_project_widget 为主窗口上的一个子组件,实现在 gsp-create-project-widget.c 中,插入到主窗口的 GUI 中。两个模块各自使用了 GtkBuilder XML UI 文件。在子组件文件中,定义子组件

    2024年02月12日
    浏览(62)
  • x11 gtk qt gnome kde 之间的区别和联系

    Linux 下的图形库介绍 一、Linux 图形领域的基础设施  1.1 X Window  X Window从逻辑上分为三层:X Server、X Client和X协议。 最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X Client(X客户端)作出反馈,而由X Clien

    2024年02月13日
    浏览(35)
  • UNO 的 SamplesApp.Skia.Gtk 丢失字体文件抛出空异常

    在运行 UNO 的 SamplesApp.Skia.Gtk 例子程序时,如果没有拷贝字体文件夹,导致字体丢失,将会在运行的时候抛出 NullReferenceException 空异常 抛出的异常堆栈大概如下 此问题已在新的 UNO 版本修复,需要更新代码就可以自动修复

    2024年02月08日
    浏览(35)
  • C#winform软件移植上linux的秘密,用GTK开发System.Windows.Forms

    国产系统大势所趋,如果你公司的winform界面软件需要在linux上运行,如果软件是用C#开发的,现在我有一个好的快速解决方案。 世界第一的微软的Microsoft Visual Studio,确实好用,C# 开发起来确实效率高,不过微软的开发语言开发的软件的界面都是跟windows系统绑定的,现在.ne

    2024年02月12日
    浏览(40)
  • RK3588在SSH上启动OpenCV报错:Can‘t initialize GTK backend in function ‘cvInitSystem‘

    2023-04-21记录,来自我的博文RK3588在SSH上启动OpenCV报错:Can‘t initialize GTK backend in function ‘cvInitSystem‘ 环境:ubunt20.04、RK3588、OpenCV3.4.16 SSH终端:Win10 在SSH终端上,编译运行RK3588上的OpenCV3.4.16自带的 C++ 示例代码: topeet@iTOP-RK3588:~/Downloads/opencv-3.4.16/samples/cpp/example_cmake/build $

    2024年02月16日
    浏览(37)
  • 全志 Tina Linux 图形系统 框架介绍 最全介绍 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland

    本文档将介绍 Allwinner Tina Linux 中已经移植好的窗口系统,以及怎么使用,包括 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland,整体结构 如下: 适用范围:Tina Linux v3.5及以上版本。 2.1 MiniGUI说明. 目前Tina中移植了MiniGUI3.2的核心库以及其组件,下表列出MiniGUI相关包说

    2024年01月25日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包