PyGobject(二)简单示例
2016-07-25 18:53
501 查看
第一个例子
经典HelloWorld小程序
窗口位于屏幕中央
接下来我们逐行来解释这个例子
先导入gtk模块,这样我们才能使用其中的类和函数。
如果用户系统中安装有多个版本的GTK+,这里我们需要引用的的是GTK+3而不是其它版本的库,这正是gi.require_version(‘Gtk’, ‘3.0’)此句的用途。
接下来创建一个空的窗口
紧随其后的是连接到窗口的删除事件,确保如果我们单击x的时候可以关闭应用程序。
接着就显示这个窗口
最后进入gtk的main方法,开始循环处理事件
与上一个例子不同的是,我们定义了一个自己的MyWindow类,它继承了*Gtk.Window*类
在类的构造方法中,调用了父类的构造方法,并且指定了title属性(窗口的标题)
接下来三行,定义了一个按钮,并连接到它的点击事件(当点击按钮时执行的方法),然后将它添加到窗口中。
相应的当你点击按钮的时候,就会调用on_button_clicked()方法,打印”Hello World”
接下来类的外面几句,非常类似于上面的简单的例子, 我们创建一个MyWindow的窗口类实例来代替Gtk.Window
与上一个例子相比多了三行
定义长度和宽度
设置窗口大小。
将窗口移动到屏幕中间
说明:本系列文章主要参考官方文档和zetcode网站。
代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728
经典HelloWorld小程序
窗口位于屏幕中央
第一个例子
这个示例将创建一个(默认大小200x200pixel)空窗口,如下图所示#!/usr/bin/env python3 # Created by xiaosanyu at 16/6/11 # Chapter 001 TITLE = "Empty Window" DESCRIPTION = "show a empty window" import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk def main(): win = Gtk.Window() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() if __name__ == "__main__": main()
接下来我们逐行来解释这个例子
import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk
先导入gtk模块,这样我们才能使用其中的类和函数。
如果用户系统中安装有多个版本的GTK+,这里我们需要引用的的是GTK+3而不是其它版本的库,这正是gi.require_version(‘Gtk’, ‘3.0’)此句的用途。
接下来创建一个空的窗口
win = Gtk.Window()
紧随其后的是连接到窗口的删除事件,确保如果我们单击x的时候可以关闭应用程序。
接着就显示这个窗口
win.show_all()
最后进入gtk的main方法,开始循环处理事件
Gtk.main()
经典HelloWorld小程序
这是PyGObject版本的经典的“Hello World”程序#!/usr/bin/env python3
# Created by xiaosanyu at 16/6/13
# section 002
TITLE = "HelloWorld"
DESCRIPTION = """
simple example, show a Window just has a Button
"""
import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Hello World")
self.button = Gtk.Button(label="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button)
@staticmethod
def on_button_clicked(widget):
print("Hello World")
def main():
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
if __name__ == "__main__":
main()
与上一个例子不同的是,我们定义了一个自己的MyWindow类,它继承了*Gtk.Window*类
class MyWindow(Gtk.Window):
在类的构造方法中,调用了父类的构造方法,并且指定了title属性(窗口的标题)
Gtk.Window.__init__(self, title="Hello World")
接下来三行,定义了一个按钮,并连接到它的点击事件(当点击按钮时执行的方法),然后将它添加到窗口中。
self.button = Gtk.Button(label="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button)
相应的当你点击按钮的时候,就会调用on_button_clicked()方法,打印”Hello World”
def on_button_clicked(self, widget): print("Hello World")
接下来类的外面几句,非常类似于上面的简单的例子, 我们创建一个MyWindow的窗口类实例来代替Gtk.Window
窗口位于屏幕中央
#!/usr/bin/env python3
# Created by xiaosanyu at 16/6/13
# section 003
TITLE = "Center Window"
DESCRIPTION = """
This window is located in the middle of screen,and set the window size
"""
import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk, Gdk
class MyWindow(Gtk.Window):
WIDTH, HEIGHT = 200, 100
def __init__(self):
Gtk.Window.__init__(self, title="Center Window")
self.set_size_request(self.WIDTH, self.HEIGHT)
self.move((Gdk.Screen.width() - self.WIDTH) / 2, (Gdk.Screen.height() - self.HEIGHT) / 2)
self.button = Gtk.Button(label="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button)
@staticmethod
def on_button_clicked(widget):
print("Hello World")
def main():
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
if __name__ == "__main__":
main()
与上一个例子相比多了三行
WIDTH, HEIGHT = 200, 100
定义长度和宽度
self.set_size_request(self.WIDTH, self.HEIGHT)
设置窗口大小。
self.move((Gdk.Screen.width() - self.WIDTH) / 2, (Gdk.Screen.height() - self.HEIGHT) / 2)
将窗口移动到屏幕中间
说明:本系列文章主要参考官方文档和zetcode网站。
代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法