使用gtk模块中的gtk.Window类可以创建一个窗口。窗口的属性(如大小、标题等)需要调用窗口对象的相应方法进行设置。当完成窗口设置后,即可调用窗口对象的show方法显示窗口,然后调用gtk.main函数进入消息循环中。
常用的窗口属性设置方法如下。
set_title(title) 设置窗口标题。
set_position(position) 设置窗口位置。
fullscreen() 设置为全屏窗口。
set_default_size(width, height) 设置窗口的默认大小。
下面所示的HelloGTK.py脚本是使用gtk.Window()创建了一个GUI窗口。
# -*- coding:utf-8 -*-
# file: HelloGTK.py
#
import pygtk # 导入pygtk模块
pygtk.require('2.0') # 设置pygtk所需的gtk版本
import gtk # 导入gtk模块
window = gtk.Window() # 创建窗口对象
window.set_title('PyGTK') # 设置窗口标题
window.set_default_size(300, 200) # 设置窗口大小
window.show() # 显示窗口
gtk.main() # 进入消息循环
运行HelloGTK.py脚本,将创建如图14-5所示的窗口。
虽然PyGTK是对C语言库GTK的封装,但由于GTK在设计时就使用了类的思想,因此在使用PyGTK时最好使用类的方式。下面所示的HelloGTK++.py改写了上例中的HelloGTK.py脚本。
# -*- coding:utf-8 -*-
# file: HelloGTK++.py
#
import pygtk # 导入pygtk模块
pygtk.require('2.0') # 设置pygtk所需的gtk版本
import gtk # 导入gtk模块
class MyWindow(): # 定义窗口类
def __init__(self, title, width, height): # 定义初始化方法
self.window = gtk.Window() # 生成窗口对象
self.window.set_title(title) # 设置窗口标题
self.window.set_default_size(width, height) # 设置窗口大小
self.window.show() # 显示窗口
def main(self): # 定义main方法
gtk.main() # 调用gtk.main方法
window = MyWindow('PyGTK', 300, 200) # 创建窗口对象
window.main() # 进入消息循环