PyGTK 教程

5星(超过95%的资源)
所需积分/C币:12 2018-04-12 22:27:27 1.76MB PDF
19
收藏 收藏
举报

本教程看了好几遍,写的真的很不错,和大家交流学习一下。
这段代码展示了一个位于屏幕中心的窗口。 import gtk 我们导入g≮k模块。在这里,我们用对象来创建GU应用程序。 class Yapp(gtk. Window) 我们的程序基于 YaPp类,它继承自 Window。 def init (self) super(PyApp, self).init o 这是构造函数,它初始化我们的程序。它也通过 super(函数回调它的父构造函数。 self connect("destroy", gtk. main_ quit) 我们连接 destroy信号到 main_quit(函数。当我们点击窗口标题栏的关闭按钮或者按下 ALt+F4, destroy信号烀会被调用。窗口烀会被销毁,但是程序没有被停止。如果你从命合 行启动这个例子,你会看到这种情况。我们通过调用 maIn__qu凼数退出程序,这是很好 的做法。 self set_size request(250, 150 我们设置窗口的尺寸为250×150p self set_position(gtk. WIN_POS_ CENTER) 这一行使窗口位居屏幕的中心。 self showo 现在我们显示这个窗口。这个窗口值到我们调用 showo方法,才会是可见的。 yApp tk. main 我们创建了我们的程序的实例,并且开始了主循环。 Icon 在下一个示例中,我们将显示程序的图标。大多数的窗口管理器会在窗口标题栏左上 角和任务栏上显示图标。 Code: icon. py usr/bin/python ZetCode PyGTK tutorial # #f This example shows an icon in the titlebar of the window # author: ian bodnar website: zetcode, com last edited: February 2009 欢迎关注译者小站:htt/www.veezioro import gtk, sys class yapp(gtk. Window) def init (self) uper(PyApp, self). init o self set_title("lcon self set_size_request(250, 150 self set_position(gtk. WIN_POS_CENTER self. set_icon_fromfile( web. png") except Exception, e rint e message sys. exit(1) self connect( "destroy", gtk. main_quit) self show( PyAppo gtk. maino 以上代码示例展示了程序图标。 elf. set_title (lco 我们为这个窗口设置一个标题。 self set_icon_from file(web. png") set icon from file(方法是为窗口设置一个图标。图片被从磁盘当前工作目录被加载。 Icon 图片:ic Buttons 在下个例子中,我们捋进一步提高我们的 PyGTK库编程技巧。 Code buttons. py #!/usr/bin/python Zet code PyGtK tutorial # this example shows four buttons in various modes 欢迎关注译者小站:htt/www.veezioro # author: jan bod website: zetcode com last edited: February 2009 import gtk class PyApp(gtk. Window) def init (self) super(PyApp, self). init O self set_title("Buttons") self set_size_request(250, 200 self set_position(gtk. WIN_POS_CENTER btn 1= gtk. Button(Button) btn 1set_sensitive (False btn2= gtk. Button("Button) btn3=gtk. Button(stock=gtk. STOCK CLOSE btn4=gtk. Button(Button) btn4set_size_request(80, 40) fixed= gtk. Fixed fixed put(btn 1, 20, 30 fixed put(btn2, 100, 30 fixed put(btn3, 20, 80 fixed- put(btn4, 100, 80) self connect(destroy"", gtk. main_quit self. add(fixed self show al PyAppo gtk. main( 我们在窗口上展示了4个不同的按钮。我们捋看见容器部件( container widgets)和子部件 ( child widgets)之间的不同,并且捋会更改子部件的一些属性( properties) btn1= gtk. Button(Button") 个 Button就是一个子部件。子部件被放置在容器内。 btn1set_ sensitive(False) 我们使这个按钮不敏感( insensitive)。这意味蒼,我们不能点击它了,它也不能被选 择、聚焦等。这个部件图形化地变厌。 btn3=gtk. Button(stock=gtk. STOCK_ CLOSE 第三个按钮在它的区域里显示了一个图片。 PyGTK库中有一个内置的图片库,我们可以使 用它。(此处可以参考 The atk C| ass reference) btn4set_size_request(80, 40) 欢迎关注译者小站:htt/www.veezioro 这里我更改了按钮的尺寸。 fixed =gtk. Fixedo Fiⅸed部件是一个不可见的容器部件( container widget)。它的用途是用来包含其它子部 件。 fixed put(btn1, 20, 30 fixed put(btn 2, 100, 30 这里我们烀按钮部件放置到fxed容器部件。 self. add(fixed 我们设置Fed容器成为我们的 Window部件的主容器。 elf show_allo 要么我们调用 show_allo方法,要么就对每个部件,包括容器,调用 showo方法。 Buttons Button Butt。n 83 t。n 图片: Buttons oltp 个提示文本( Tooltip)就是在应用程序中对一个部件用途的建议。它能够被用来提 供额外的帮助。 Code: tooltips. py / usr/bin/python ZetCode PyGTK tutorial # This code shows a tooltip on a window and a button # author jan bodnar website zetcode com last edited: February 2009 import gtk class YaPp(gtk. Window 欢迎关注译者小站:htt/www.veezioro def init (self) super(PyApp, self).init O selfset title("Tooltips") self set_size_request(250, 200 selfset_position(gtk. WIN_POS_ CENTER self connect("destroy", gtk. main_quit) self. fixed gtk Fixed elf. add (self. fixed button=gtk. Button(Button) button set_size_request(80, 35) self. fixed put(button, 50, 50) elf. set tooltip text window widget") button set tooltip text("Button widget elfshow_allo PyAppo gtk. maino 在这个例子中,我们对一个窗囗和一个按钮各设置了一个提示文本( tooltip)。 self set_tooltip -text( Window widget") button set_tooltip -text("Button widget") 用 set_tooltip_text()方法做这项工作。 Tooltip 回回〔 Button Button widget 图片:Toot 在这章中,我们用 PyGTK编程库创建了第一个程序 02 PyGTK中的布局管理 本教程在这章中,我们捋怎样在窗口或者对话框( dialogs)中布置我们的部件。 当我们设计程序的GU!界面时,我们决定哪些部件我们将会使用,和我们将怎样在程 欢迎关注译者小站:htt/www.veezioro 序中组织那些部件。为了组织我们的部件,我们使用专门的不可见部件,其被称为布局容 器( layout containers)。在这章中,我们将提到 Alignment,Fied,VBox和Tabe这四种布 局容器( layout containers)e Fixed FiⅸKed容器捋放置位置固定和尺寸固定的子部件。这个容器不进行自动的布局管理。在 大多数的程序中,我们不用这种容器。但是在一些专门的领域,我们会用它。例如游戏 些工作在图表中的专门程序,那些能被移动可变化尺寸的组件(就想在电子表格程序中 的一个char表一样),小型的学习示例等。 Code: fixed. py #!/usr/bin/python f Zetcode PyGtK tutorial # This example demonstrates a Fixed container widget # author: jan bodnar website: zetcode com last edited: February 2009 mport atk import sys class Pyapplgtk. Window) def_init(self) super(PyApp, self). -init o selfset _title("Fixed") self set_size request(300, 280 self. modify_bg(gtk. STATE_NORMAL, gtk. gdk Color(6400, 6400, 6440)) self set_position(gtk. WIN_POS_CENTER elf bardejov =gtk. gdk pixbuf_new_from_file bardejov jpg da gtk gdk. pixbuf_ new_ from_file(rotunda. jpg self. mincol gtk gdk pixbufnew_from_file"'mincol jpg") except Exceptio print e message sys. exit(1) nge 1=gtk. Image e2 = gtk. Image( age3=gtk. Image ge1setfrom_pixbuf (self bardejov) mage. set_from_pixbuf (self. rotunda) mage3set_from_pixbuf (self. mincol) fix = gtk. Fixed 欢迎关注译者小站:ht fix put(image1, 20, 20 fix put(image2, 40, 160 fix put (image, 170, 50) self. add(fix) self connect("destroy", gtk. main_quit) self show_allo YaPp gtk. main 在我们的例子中,我们在窗口上显示了3个小图片。在我们放置这些图片的地方,我们明 确地指定其x,y坐标。 self. modify_bg(gtk. STATE_NORMAL, gtk. gdk Color(6400, 6400, 6440)) 为了更好的视觉体验,我们更改了窗口的背景颜色为暗厌色 self bardejov gtk gdk. pixbutnew_from_file bardejov jpg") 我们从磁盘中一个文件里载入图片。 image1=gtk. Image image2 gtk Image image3=gtk. Image image1setfrom_pixbuf(self bardejov image2set_from_pixbuf(self. rotunda) image set_from_pixbuf(self. mincol) mage是一个部件,其作用是用来显示图片的。它在构造函数占用了一个 Pixbuf(图片绶 存)对象 fix=gtk. Fixed 我们创建了Fed容器。 fix put(image1, 20, 20) 我们将第一张图片放置在坐标为x=20y=20的位置上。 self. add ( fix) 最后,我们将Fed容器添加到窗口中。 欢迎关注译者小站:htt/www.veezioro Figure: FiXed Alignment Alignment容器控制它的子部件的对齐和尺寸 Code: alignment. py #/usr/bin/python ZetCode PyGTK tutorial # This example shows how to use the alignment widget # author: jan bodnar website: zetcode com last edited February 2009 import gtk class PyApplgtk. Window) def_ init (self) super(PyApp, self). _ init o self set title("Alignment") self set_ size request(260, 150 self set_position(gtk. WIN_POS_CENTER vbox=gtk. VBox( False, 5) 11 hbox gtk HBOX(True, 3) valign= gtk. Alignment(o, 1, 0, O) vbox pack start(valign 欢迎关注译者小站:htt/www.veezioro

...展开详情
试读 112P PyGTK 教程
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
sxhzzlw_ 非常棒的资料,感谢!
2019-02-27
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
PyGTK 教程 12积分/C币 立即下载
1/112
PyGTK 教程第1页
PyGTK 教程第2页
PyGTK 教程第3页
PyGTK 教程第4页
PyGTK 教程第5页
PyGTK 教程第6页
PyGTK 教程第7页
PyGTK 教程第8页
PyGTK 教程第9页
PyGTK 教程第10页
PyGTK 教程第11页
PyGTK 教程第12页
PyGTK 教程第13页
PyGTK 教程第14页
PyGTK 教程第15页
PyGTK 教程第16页
PyGTK 教程第17页
PyGTK 教程第18页
PyGTK 教程第19页
PyGTK 教程第20页

试读结束, 可继续阅读

12积分/C币 立即下载 >