安装gtk3.0的时候,总是提示glib2.30.0被发现,ubuntu 11.10如何移除 glib2.30.0。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装gtk3.0的时候,总是提示glib2.30.0被发现,ubuntu 11.10如何移除 glib2.30.0。相关的知识,希望对你有一定的参考价值。

参考技术A 在 ubuntu 11.10中可以用apt-get install gnome-core-devel安装gtk3.0 请不要尝试移除glib 因为可能会使gnome无法启动

GTK+ Toggle动作

【中文标题】GTK+ Toggle动作【英文标题】:GTK+ ToggleAction 【发布时间】:2012-07-07 04:00:29 【问题描述】:

我正在为我正在进行的项目开发一个带有 gtkmm/C++ 的 UI。我对 GTK 完全陌生。对于这个程序,我需要多线程,为此我使用 Glib::Threads 对象。第二个线程将被打开和关闭,以便用户可以控制程序的执行;自然地,Gtk::ToggleAction 这个名字让我很好奇,但我一直没能弄清楚这到底是做什么的。是否可以从处理我的线程的 ToggleAction 派生一个类?

谢谢! 克里斯

【问题讨论】:

【参考方案1】:

Gtk::ToggleAction 是用于“基于动作的菜单和工具栏”的类集的一部分:http://developer.gnome.org/gtk3/stable/Actions.html

特别是,GtkToggleAction 表示具有开/关切换状态的动作。这更多是关于抽象“动作”的概念,可以同时由任意数量的 UI 元素(菜单检查项、切换按钮等)可视化。您当然可以使用由更改 Gtk::ToggleAction 触发的事件来决定暂停/取消暂停线程,方法是继承 Gtk::ToggleAction 或使用引用 Gtk::ToggleAction 实例的新类组合。

【讨论】:

目前我正在使用 Gtk::ToggleButton;我相信这对我的目的同样有效。假设我的程序员将在 UI 驱动程序中处理多线程是否公平?感谢您的回复。 如果你想设计一个响应式 UI,那么你需要学习在不阻塞 UI 线程的情况下以一种或另一种形式做事。不管是后台线程、异步 API,你都有什么。 我已经在研究使用 pthreads 的解决方案。它非常适合我的需求;我从来没有写过 GUI,我不确定 GTK 是否有能力处理这些简单的多线程场景。感谢您的回复,我现在知道我需要自己处理。【参考方案2】:

与所有其他 UI 系统一样,GTK 的非阻塞 UI 使用事件驱动架构。执行此操作的标准方法是拥有一个用于事件处理的主线程和一个用于绘制的第二个线程。大多数像“另存为”对话框这样的窗口都以不同的方式处理,因此您不需要为此使用线程。 如果您正在开发新应用程序,请考虑使用 GTK3 接口。 GtkAction 已被弃用。请改用 GAction 和 GMenu 界面。

https://developer.gnome.org/gio/stable/GAction.html#GAction-struct

【讨论】:

【参考方案3】:

或者,您可以在 Advanced Gtk+ Sequencer 的 gobject 中使用我的线程实现:

http://ags.sf.net http://ags.sourceforge.net/api/ags/ags-AgsThread.html

此实现提供暂停和恢复线程。 当然你可以扩展 GtkToggleButton 对象。

这可能是最重要的功能

g_type_class_peek_parent(klass);

【讨论】:

以上是关于安装gtk3.0的时候,总是提示glib2.30.0被发现,ubuntu 11.10如何移除 glib2.30.0。的主要内容,如果未能解决你的问题,请参考以下文章

安装DAEMON时提示要重启,重启之后还是提示要重启~~怎么办~~装不了

手机内存总是提示不足的解决方法

GTK3.0中如何使用gstreamer同时播放视频和音频

我的word打开的时候总是提示超链接不可用,怎么回事???

在ubuntu 下安装tftp 服务器。总是提示找不到软件或者定位,怎么办?谢谢大家了

解决提示“npm audit fix“问题