LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1741|回复: 15

再次感到python+wxPythn的强大

[复制链接]
发表于 2003-9-11 09:27:28 | 显示全部楼层 |阅读模式
下面的代码:
[PHP]
#!/usr/bin/env python
# -*- coding:gb2312 -*-
                                                                                                                             
from wxPython.wx import *
from wxPython.html import *
from wxPython.lib.floatbar import *
import time, os
                                                                                                                             
                                                                                                                             
class BrowserFrame(wxFrame):
    ID_ADD = 5000
    ID_REMOVE = 5001
    ID_QUIT = 5002
                                                                                                                             
    wxImage_AddHandler(wxGIFHandler())
                                                                                                                             
    def __init__(self):
        wxFrame.__init__(self, None, -1, '查看程序')
                                                                                                                             
        tb = wxFloatBar(self, -1)
        addWin = wxButton(tb, self.ID_ADD, u'增加新窗口')
        removewin = wxButton(tb, self.ID_REMOVE, u'移除旧窗口')
        quit = wxButton(tb, self.ID_QUIT, u'退出程序')
                                                                                                                             
        #捕获按钮单击事件
        EVT_BUTTON(tb, self.ID_ADD, self.OnAdd)
        EVT_BUTTON(tb, self.ID_REMOVE, self.OnRemove)
        EVT_BUTTON(tb, self.ID_QUIT, self.OnQuit)
                                                                                                                             
        #增加按钮到工具栏上
        tb.AddControl(addWin)
        tb.AddControl(removewin)
        tb.AddSeparator()
        tb.AddControl(quit)
        tb.Realize()
                                                                                                                             
        self.SetToolBar(tb)
        tb.SetFloatable(1)
        self.SetToolBar(tb)
        tb.SetFloatable(1)
                                                                                                                             
        #创建wxNoteBook类的部件
                                                                                                                             
        self.note = wxNotebook(self, -1)
                                                                                                                             
    def GetFileName(self):
        types = 'HTML FILES|*.html;*.htm'
        dlg = wxFileDialog(self, style = wxOPEN|wxFILE_MUST_EXIST, wildcard = types)
                                                                                                                             
        dlg.ShowModal()
        file = dlg.GetFilename()
                                                                                                                             
        dlg.Destroy()
                                                                                                                             
        return file
                                                                                                                             
    def OnAdd(self, event):
        file = self.GetFileName()
                                                                                                                             
        if file:
            newWin = wxHtmlWindow(self.note ,-1)
            self.note.AddPage(newWin, os.path.split(file)[1], 1)
            newWin.LoadPage(file)
                                                                                                                             
    def OnRemove(self, event):
        page = self.note.GetSelection()
        if page != -1:
            self.note.DeletePage(page)
            self.note.AdvanceSelection()
                                                                                                                             
    def OnQuit(self, event):
        self.Destroy()
                                                                                                                             
class App(wxApp):

    def OnInit(self):
        frame = BrowserFrame()
        frame.Show(true)
        return true
                                                                                                                             
if __name__ == "__main__":
    app = App(0)
    app.MainLoop()
[/PHP]
发表于 2003-9-11 12:22:44 | 显示全部楼层
想不到它做界面那么简单

性能还可以吧、
另外看它的资料好像是PYTHON还可以与C++集成
这样以后就可以使用C++开发后台

PHTONE做界面了
不知是不是真的
发表于 2003-9-11 16:12:06 | 显示全部楼层
很好,我先搞perl,回头也学一下Python,因为平常自己经常要写一些小工具,我原来就想的是命令行用perl,图形界面用Python或TCL,不过一直都没开始学,看到黄叶兄的成果不禁也跃跃欲试,努力开始学新语言。
 楼主| 发表于 2003-9-11 16:27:19 | 显示全部楼层
性能很不错。有位老兄用python+wxPython写了一个开发python的IDE叫boa,用的就是python+wxPython,真是好极了。
感觉就像用VB一样。
发表于 2003-9-13 13:41:50 | 显示全部楼层
老黄啊,你动作还快哦。。不错,我以前用wxpython写了点小东西,本来说和一个朋友一起写个房产系统的,结果也吹了,就没有学了,偶尔看看python,不过确实很简单,呵呵,祝你成功哦。。
发表于 2003-9-13 22:46:24 | 显示全部楼层

中文支持到底怎么样?

早就知道python和wx了,但是在水木清华,瀚海星云,还有其他一些论坛上经常有人反映二者的中文支持极差。

黄斑竹能不能介绍一下他们的中文支持到底怎么样?
发表于 2003-9-13 23:03:04 | 显示全部楼层

python能用的widget库

python能用的widget库有wx,tk,gtk,到底哪一个好一点,黄斑竹能不能给个比较?

还有,能用qt吗?
发表于 2003-9-14 20:52:41 | 显示全部楼层
我顶
 楼主| 发表于 2003-9-15 07:53:30 | 显示全部楼层
老黄啊,你动作还快哦。。不错,我以前用wxpython写了点小东西,本来说和一个朋友一起写个房产系统的,结果也吹了,就没有学了,偶尔看看python,不过确实很简单,呵呵,祝你成功哦。。


呵呵,写GUI我是最感兴趣的了。这个东东我可是轻车熟路。
 楼主| 发表于 2003-9-15 07:54:56 | 显示全部楼层
中文支持到底怎么样?

早就知道python和wx了,但是在水木清华,瀚海星云,还有其他一些论坛上经常有人反映二者的中文支持极差。

黄斑竹能不能介绍一下他们的中文支持到底怎么样?


python对中文的支持是有问题,但是最新版的2.3对unicode支持很好,自己动手处理一下就可以有很好的中文。
处理方法,在www.linuxforum.net上有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表