/*********************************************************************
* Author : Samson
* Date : 06/25/2014
* Test platform:
* Mint 15
* GNU bash, version 4.2.45
* *******************************************************************/
ps: Gtk3.0的在线类的说明:
http://lazka.github.io/pgi-docs/Gtk-3.0/classes/
很多时候在Gnu Linux环境下会同时有gtk 2.0与gtk 3.0的存在,因为有的程序是基于2.0的,而有一些是基于3.0的,所以在进行基于gtk的编程时,要先进行版本的切换。
配置gtk的环境为gtk+-3.0, 而相应的2.0为s/gtk+-3.0/gtk+-2.0/g:
若没有Gtk 3.0的,进行安装:
ufo@ufo:~/test$ sudo apt-get install libgtk-3-dev
ufo@ufo:~/test$ pkg-config --cflags gtk+-3.0
ufo@ufo:~/test$ pkg-config --libs gtk+-3.0
一个简单的例子,创建一个窗口,且在窗口中添加了一个开关按钮:
#!/usr/bin/python
from gi.repository import Gtk
class MyWindow(object):
def __init__(self,title,width,height):
self.window = Gtk.Window()
self.window.set_title(title)
self.window.set_default_size(width,height)
self.window.connect("destroy",lambda q:Gtk.main_quit())
self.switch = Gtk.Switch()
self.window.add(self.switch)
self.window.show_all()
def main(self):
Gtk.main()
if __name__ == ‘__main__‘:
gui=MyWindow(‘myninewindow‘,600,400)
gui.main()
执行效果为:
与2.0主要的区别是很多类的首字母变为了大写的了,更多的区别对于俺这样的初学者来说,不好体会完全的 :_(