内容简介:http://stackoverflow.com/questions/11301074/what-exactly-is-glib-and-gobject
的源代码,它提到它是
gobject-based, for easy event handling (in the high-level client class).
所以,有人可以用简单的方式向我解释什么是Glib和GObject,它们如何相互交互以及它在事件处理中的作用.
我试着看着Glib和GObject,但是我没有找到任何基本的解释.我发现的所有解释都是非常技术性的技术,我的意思是不适合初学者.
另外,有人可以指出一些关于Glib和GObject的初学者教程/文章.
GLib和Gobject是两个独立的C库,其中构建了GTK GUI工具包(除其他外).
由于C是较低级别的语言,所以GLib提供了很多基本功能,如类似于 Python 内置的工具(文件输入/输出,字符串操作,内存管理,线程等).
由于C不是面向对象的语言,所以GObject提供了一个基于C的对象系统,它包括属性和继承(再次,已经内置到Python中).在Python中,您很少直接使用GLib(因为Python具有内置的大部分功能),而GObject依赖于GLib.
所有基于GObject的库旨在支持与其他语言(如Python)的语言绑定.
对于您的问题,GObject提供了一个称为“信号”的事件系统.从GObject派生的任何对象都可以“发出”信号来发送事件的通知. python-mpdor中的MPDProtocolClient类派生自GObject,因此可以发出信号.应用程序“连接”功能到这些信号. F
例如,README显示了这个例子:
import gobject import mpdor def notify(client, vol): print "mpd volume is at ", vol + "%" client = mpdor.client.Client() client.connect("mixer-change", notify) gobject.MainLoop().run()
在这种情况下,名为notify的功能与“mixer-change”信号“连接”,这意味着在客户端“发出”该信号时将会调用该功能. gobject.MainLoop().run()调用进入“ main event loop ”(基本上是一个无限循环),这是事件驱动编程中的一个标准概念.
您可能不会找到很多GObject / Python教程,但是,如果您学习了一些Python / GTK基础知识,那么您可能会了解事件循环,信号和信号回调的概念. (看起来像python-mpdor是使用GTK 2,这将是PyGTK,而不是新的GTK 3,这是PyGObject).
祝你好运.
http://stackoverflow.com/questions/11301074/what-exactly-is-glib-and-gobject
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTTP
David Gourley、Brian Totty、Marjorie Sayer、Anshu Aggarwal、Sailu Reddy / O'Reilly Media / 2002-10-7 / USD 54.99
Product Description Web technology has become the foundation for all sorts of critical networked applications and far-reaching methods of data exchange, and beneath it all is a fundamental protocol......一起来看看 《HTTP》 这本书的介绍吧!