当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 对pygtk有些感觉了
帖子发表于 : 2010-04-14 20:57 
头像

注册: 2006-02-10 16:36
帖子: 2768
系统: Xubuntu14.04/Deepin
送出感谢: 14
接收感谢: 28
一直对 python + gtk 找不到感觉。
听说王江民在38岁才开始人生的传奇,受到鼓励,于是继续把pygtk看了下去,竟然找到一些感觉。
问题在于这种面向对象的思路和delphi不一样。delphi中的窗体对象包含了窗体上的组件比如按钮,编辑框;而pygtk实例程序中的自定义窗体对象,实际上是一个包含了窗体和窗体上组件的对象,而它本身并不是一个扩展了的窗体对象。而这一切,却是因为看了一段极其简短的实例领悟的。
代码:
w=gtk.Window()
b=gtk.Button()
w.add(b)
w.show_all()
gtk.main()

没有故作高深地自定义对象,平铺直叙地采用了系统对象,多简单多明了。
代码:
F=class
    def __init__():
        self.w=gtk.Window()
        self.b=gtk.Button()
        self.w.add(b)
        self.w.show_all()
    def main():
        gtk.main()

f=F.()
f.main()
:em20 娘西屁,看看着对象搞得多罗嗦!


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2010-04-14 21:06 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
恭喜居士编程水平长进了。。。听Photor讲,Dephi也有新的一个开源变种滴。。。 :em06


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2010-04-14 21:09 
头像

注册: 2007-02-02 18:14
帖子: 30702
系统: debian sid
送出感谢: 1
接收感谢: 34
呵呵,个人觉得还不错,不过没有找到比较好的编辑器,二是控件属性的参考资料没有找到


_________________
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2010-04-14 21:10 
头像

注册: 2006-02-10 16:36
帖子: 2768
系统: Xubuntu14.04/Deepin
送出感谢: 14
接收感谢: 28
wangdu2002 写道:
恭喜居士编程水平长进了。。。听Photor讲,Dephi也有新的一个开源变种滴。。。 :em06

那个就叫lazarus,可惜无法在IDE输入中文,必须把文件存盘然后使用其他文本编辑器打开把里面需要中文的地方改过来,其实也不算很麻烦。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2010-04-14 21:24 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
呵呵,Dekphi早忘光了。。。某决定以后学Qt。。。Qt的类库,界面设计QtDesign和IDE环境QtCreator都不错,资料也比Gtk的好找多了。。。 :em06


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2010-04-14 21:32 
头像

注册: 2007-02-02 18:14
帖子: 30702
系统: debian sid
送出感谢: 1
接收感谢: 34
我最爱是delphi~~~


_________________
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2011-03-13 19:29 
头像

注册: 2006-02-10 16:36
帖子: 2768
系统: Xubuntu14.04/Deepin
送出感谢: 14
接收感谢: 28
按照delphi的窗体构建思路,重新写了这个程序。
代码:
# coding:utf-8

import pygtk
pygtk.require20
import gtk

class F (gtk.Window):
    b=gtk.Button('面向对象的按钮')
    def __init__(self,title):
        gtk.Window.__init__(self)
#        gtk.Window.set_title(title)
        self.set_title(title)
        self.add(self.b)
        self.connect('destroy',lambda q:gtk.main_quit())
        self.show_all()
       
    def main(self):
        gtk.main()
       
f=F('来个OO')
f.main()

与首贴中第二个例子中的主要区别在于,首贴中按钮b的定义在窗体类构建方法__init__()内定义的,而这是在窗体构建方法外定义。
按照一般OO的逻辑,对象b如果是在方法__init()__内定义的,那么在方法__init()__外是无法访问。不过奇怪的是在pygtk中,依然可以访问这个在__init()__内定义的对象。
希望哪位朋友给指点迷津。

二是类F指明了是从gtk.Window类中继承过来的,而首贴中的例子F是个基本类,window作为F类的属性存在。此例中F本身就是一个窗口类。这正是DELPHI窗体的构建模式。


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 对pygtk有些感觉了
帖子发表于 : 2011-03-13 20:00 
头像

注册: 2006-02-10 16:36
帖子: 2768
系统: Xubuntu14.04/Deepin
送出感谢: 14
接收感谢: 28
代码:
# coding:utf-8

import pygtk
pygtk.require20
import gtk

w=gtk.Window()
w.set_title('按钮的事件驱动')
w.set_default_size(500,100)
w.connect('destroy',lambda q:gtk.main_quit())

hb=gtk.HBox(False,20)

b1=gtk.Button('点击我')
def onb1(self):
    b2.set_label('退出')
#    b1.set_label(
b1.connect('clicked',onb1)

b2=gtk.Button('点击我')

def onb2(self):
    gtk.main_quit()
b2.connect('clicked',onb2)

hb.pack_start(b1)
hb.pack_start(b2)

w.add(hb)
w.show_all()

gtk.main()

又是一个例子,对python中对象变量的作用范围不清楚。比如这个例子中函数onb1使用了对象变量b2,而这个对象变量并没有在onb1函数中定义,而且在函数onb1定义之前的语句也没有出现,是在onb1函数之后出现的。但是却可以在函数onb1中使用,真是奇怪极了,搞不懂。 :em20


_________________
友帮拓,真难听。有没有接触官方的老大?给改了吧!
一直想找一个在linux下的Visual FoxPro/access桌面数据库。MUIBase还算是最相近的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译