Chinaunix

标题: 问一下wxPython or PyQt哪一个比较好? [打印本页]

作者: basaka    时间: 2008-12-30 17:15
标题: 问一下wxPython or PyQt哪一个比较好?
看完Byte of Python不知道在看什么。问一下wxPython or PyQt哪一个比较好?谢谢投票!

[ 本帖最后由 basaka 于 2008-12-30 17:16 编辑 ]
作者: jjj137    时间: 2008-12-30 17:18
你认为什么样的好?
作者: basaka    时间: 2008-12-30 17:21
标题: 回复 #2 jjj137 的帖子
不知道,网上有的把wx的效果夸上天,有的说他有很多bug很难调试。我不知道学那个好。大家发表的评论,谢谢
作者: guijia8427    时间: 2008-12-30 17:30
我一直用wxpython 觉得很不错 资料比较全 PyQt 没用过不发表评论 wxpython一般情况下是够了的
作者: jjj137    时间: 2008-12-30 18:24
那你用它开发什么平台的程序?对外观一致性有没有要求?有没有MFC基础?
作者: basaka    时间: 2008-12-30 18:39
标题: 回复 #5 jjj137 的帖子
还是学生,就是学着玩。还不会MFC,要先学mfc吗?
作者: jjj137    时间: 2008-12-30 22:26
标题: 回复 #6 basaka 的帖子
wx和mfc相似,有基础学起来比较容易。
qt免费版有协议要求,开发的程序必须以GPL协议发布。
gtk和wx都是LGPL,比较宽松。
wx开发的程序在外观上和操作系统本身的程序差不多,gtk和qt则是自有主题引擎的效果。
作者: basaka    时间: 2008-12-31 12:48
标题: 回复 #7 jjj137 的帖子
啊,那不是要看一下mfc,听说看mfc之前应该先学windows程序设计的吧?任重而道远啊!
作者: oustar    时间: 2008-12-31 15:11
解决问题就是好东西。
wx有一本好书wxPython in action。看看书,看看demo代码(最好自己敲一点),基本上就上路了。
没有用过qt。
当然,对界面有过高要求。另当别论了。
MFC也建议了解一下。看看书,学习一下sample。
分阶段,各个击破。就会很有心得了。
作者: jjj137    时间: 2008-12-31 17:21
个人感觉WX和MFC比较麻烦,但是就是资料多。
GTK和QT资料比较少,尤其qt4是新出的。
作者: basaka    时间: 2008-12-31 18:26
标题: 回复 #10 jjj137 的帖子
恩,好的,那我先学wx吧,反正也不急着做什么东西。
作者: luffy.deng    时间: 2008-12-31 22:47
没啥好不好的,个人爱好而已。我看pygtk就挺好
作者: grissiom    时间: 2009-01-04 20:15
其实 pyqt4 文档也挺多的~ 网上就有很多教程~ 源码里自带一份 API,结合 qt4 自己的例程,看起来还是比较舒爽~
作者: xolilo    时间: 2009-01-06 17:59
  支持pytq4
作者: lvxinzhi    时间: 2009-01-08 15:58
标题: 俺刚用wx写的
# --*-- encoding: UTF-8 --*--

import wx
import os
import wx.lib.dialogs

cmd_dbsvc = "C:\\win32\\dbsvc.exe"
cmd_dbsrv = "c:\win32\\dbsrv9.exe"
db_file = "C:\\Program Files\\Sybase\\SQL Anywhere 9\\asademo.db"
class InsertFrame(wx.Frame):

    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, u"Bceng 服务管理器",
                size=(380, 100),style=wx.SYSTEM_MENU |wx.CAPTION |wx.MINIMIZE_BOX |wx.CLOSE_BOX )
        panel = wx.Panel(self)

        bsvcReg = wx.Button(panel, label=u"注册服务", pos=(10, 10),
                size=(70, 50))
        bsvcStart= wx.Button(panel, label = u"启动服务", pos=(80,10),
                            size=(70,50) )
        bsvcDel = wx.Button(panel, label = u"删除服务", pos=(150,10),
                            size=(70,50))
        bsvcStop= wx.Button(panel, label=u"停止服务", pos=(220,10),
                            size =(70,50))
        bexit   = wx.Button(panel, label = u"退出", pos =(290,10),
                            size=(70,50))
        if os.path.exists(cmd_dbsvc) == False or os.path.exists(cmd_dbsrv) == False or os.path.exists(db_file) == False:
            bsvcReg.Enable(False)
            bsvcStart.Enable(False)
            bsvcDel.Enable(False)
            bsvcStop.Enable(False)

            
        self.Bind(wx.EVT_BUTTON, self.OnCloseMe, bexit)
        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
        self.Bind(wx.EVT_BUTTON, self.OnSvcReg, bsvcReg)
        self.Bind(wx.EVT_BUTTON, self.OnSvcStop, bsvcStop)
        self.Bind(wx.EVT_BUTTON, self.OnSvcDel, bsvcDel)
        self.Bind(wx.EVT_BUTTON, self.OnSvcStart, bsvcStart)
   
    def OnCloseMe(self, event):
        self.Close(True)
    def OnSvcReg(self, event):
#        dbsvc -as -s auto -t network -w mynetworkserv "C:\Program Files\Sybase\SQL Anywhere 9\win32\dbsrv9.exe" -x tcpip -c 8m "C:\Program Files\Sybase\SQL Anywhere 9\sample.db"
        rtn = os.popen( cmd_dbsvc + " -as -s auto -t network -w BCENGSVC " + cmd_dbsrv + " -x tcpip -c 8m " + '"'+db_file+ '"')
        dlg = wx.lib.dialogs.scrolledMessageDialog(self, rtn.read(), u"提示")
        dlg.ShowModal()
        
        wx.MessageDialog(None,u"数据库服务器注册成功,请重新启动系统",u"提示")
        pass
    def OnSvcStop(self, event):
        dlg = wx.MessageDialog(None, u"确定要停止数据库服务器吗?",u"询问", wx.OK|wx.CANCEL|wx.ICON_WARNING)
        retCode = dlg.ShowModal()
        if retCode == wx.ID_CANCEL:return
        
        rtn = os.popen(cmd_dbsvc + " -x BCENGSVC" )
        dlg = wx.lib.dialogs.scrolledMessageDialog(self, rtn.read(), u"提示")
        dlg.ShowModal()
    def OnSvcDel(self, event):
        dlg = wx.MessageDialog(None,u"确定要删除服务吗?",u"警告",
                               wx.OK|wx.CANCEL|wx.ICON_WARNING )
        retCode = dlg.ShowModal()
        
        if retCode == wx.ID_OK:
            rtn = os.popen(cmd_dbsvc +" -y -d BCENGSVC")
            
            dlg = wx.lib.dialogs.scrolledMessageDialog(self, rtn.read(), u"提示")
            dlg.ShowModal()
        if retCode == wx.ID_CANCEL:
            print 'Cancel'
    def OnSvcStart(self, event):
        rtn = os.popen(cmd_dbsvc + " -u BCENGSVC")
        dlg = wx.lib.dialogs.scrolledMessageDialog(self, rtn.read(), u"提示")
        dlg.ShowModal()
    def OnCloseWindow(self, event):
        self.Destroy()

if __name__ == '__main__':
#    cmd_dbsvc = os.path.dirname(__file__)+os.sep + "dbsvc.exe"
#    tmp = os.popen(dbsvc)
    cmd_dbsvc = os.getcwd() + os.sep + "DB" + os.sep + "dbsvc.exe"
    cmd_dbsrv = os.getcwd() + os.sep + "DB" + os.sep + "dbsrv9.exe"
    db_file   = os.getcwd() + os.sep + "DB" + os.sep + "BCENG.db"
   
    app = wx.PySimpleApp()
    frame = InsertFrame(parent=None, id=-1)
    frame.Show()
    app.MainLoop()
作者: rover12421    时间: 2009-01-17 14:09
不是很清楚,呵呵
作者: future0906    时间: 2009-01-17 14:53
最近在看QT4 for C++,150MB左右的安装文件,可以装到1.5G多。。。。

可以想象文档和例子是非常多的。
作者: Lonki    时间: 2009-01-18 15:28
只在Windows上干的话, 毫无疑问wx了, 原生控件. 和Windows编程很像, 有MFC基础更好, 没基础也不难的.
作者: 山野村夫    时间: 2009-01-21 23:42
偶觉得差不多
作者: xiaonanln    时间: 2009-01-22 23:49
还是喜欢自带的tkinter,简单
作者: 84211698    时间: 2009-01-29 14:52
迷茫~~~,
说来说去,好象哪个都行,不过QT现在也支持LGPL,但是国内用的人还是太少了,相对的资源也很少
作者: axlrose    时间: 2009-02-02 23:58
Qt4.5开始支持LGPL, 看来PyQt4也要lgpl了
多一个选择很好
作者: carrison    时间: 2009-02-03 10:48
装起来挺累,python+qt4+sip+pyqt4+qscintilla+eric4
作者: carrison    时间: 2009-02-13 11:11
发现eric4如果网卡没起来就不能进去,一晃而过,网卡起来就好了,不知啥原因。
作者: 2gua    时间: 2009-02-14 12:38
其实没有哪个好、哪个不好的说法。
作者: izhier    时间: 2009-02-26 12:17
正在学习 wxpython, PyQt不了解,没发言权
作者: QPhoenix    时间: 2009-03-02 12:49
用过一段时间pywx,碰到过bug,确实很郁闷,不知道如何调试(也许是我比较菜吧)。也用过QT(不是pyqt),qt是我见过的c++框架里面最舒服的一个了,就是自己的moc让人不舒服,毕竟不是标准的东西,不过他的工具链很完善,倒也可以放心。
QT4.5也LGPL了,版权也不再是障碍。pyqt的资料不清楚,不过qt的资料还是不缺的,官方的assistant就相当完备。
总结一下,个人觉得在c++领域QT是明显优于wxwidget的,但是python封装后也许pywx用的人更多吧。建议pyqt:wink:
作者: limodou    时间: 2009-03-17 10:11
这是一个历史积累的问题。以前qt的版权是一个大问题,特别是在windows平台上。个人感觉在windows平台下开发的人主要使用pywx,而人的确不少。而qt的版权使得这方面的人比较少。所以再加上积累,很难轻易改变。不过对于没有积累的可能无所谓。但还要考虑可参考的项目和获得帮助的难易程度。不然许多时候一个人做,要看你有没有自主钻研的能力了。
作者: qinwyo    时间: 2009-03-27 22:28
一直在用wxPython,以前在嵌入式上用过QT,感觉差不多,不过现在还是感觉wxPython比较顺手,学起来也很快,不用去学什么MFC,只要有Python基础,然后稍微知道一些GUI的基础知识就差不多了,网上wxPython的例子很多,可以多研究研究。
作者: qinwyo    时间: 2009-03-27 22:29
忘记了,我是在三个平台同时要支持的,这一点wxPython很不错啊,同一个程序在Mac OS X, Linux, Windows都可以运行,而且不用改任何东西,天生跨平台!
作者: pgt112you    时间: 2009-04-09 22:13
起始我没用过PyQt,但是为了看结果我就投了wxPython
作者: gawk    时间: 2009-04-11 18:36
wxPython不错
作者: sinanjj1    时间: 2009-05-10 22:23
标题: 说要先学MFC的就是扯蛋
要真要说先学什么,应该先学学C语言,看看GObject,深入理解OO框架
作者: ssafa    时间: 2009-05-14 15:22
我们公司是卖QT的,所以不喜欢QT,嘎嘎
作者: refeihc    时间: 2009-06-02 13:14
喜欢wxPython
作者: nietsche    时间: 2009-06-06 09:04
不一定需要mfc基础的,个人感觉wx设计理念是很好的,如果想要和mfc相同处理里面有一个xrc类库,下载wxpython的demos and docs,直接使用使用它的xrc编辑器就可,不过这应该只是小程序吧!(就如notepad++之类的)。
未使用过qt,不过应该也不错,尤其是ide之类的可能更丰富些。不过免费才是王道啊!
作者: flyingtime    时间: 2009-06-10 16:52
python新人来这里报个到
作者: 小python    时间: 2009-06-28 09:59
同报道
作者: pywugw    时间: 2010-01-30 23:08
新手同来报道
作者: zfzaizheli    时间: 2010-02-10 10:14
都没用过~~{:3_201:}
作者: to407    时间: 2010-02-25 00:47
wx吧。。为了看结果~
作者: reiase    时间: 2010-03-31 14:21
wxPython不错,不过在看pygtk
作者: 2gua    时间: 2010-04-09 09:12
QT的稳定性,应该会比较好,但wx貌似用得多?是不是和QT原来不开源有关系?但现在QT开源了。
作者: 盖茨他爹    时间: 2010-04-09 20:00
QT虽然开源了,但如果商业应用还是收费的
作者: 2gua    时间: 2010-04-15 08:55
这个问题永远不会有答案的,各有所好,也各有所长啊。
作者: newcnad    时间: 2010-04-28 17:14
公司里的话还是领导说了算
作者: zhichiamd    时间: 2010-05-13 11:31
Tkinter
作者: jjj137    时间: 2010-05-21 14:12
QT虽然开源了,但如果商业应用还是收费的
盖茨他爹 发表于 2010-04-09 20:00



    现在不是 LGPL 了么?商业应用也不收费了吧?
作者: t6760915    时间: 2010-05-21 14:14
只接触过wxpython
作者: 2gua    时间: 2010-05-21 16:27
Tkinter
zhichiamd 发表于 2010-05-13 11:31



    TK是Python自带的,但TK确实比不上GTK、WX、QT这些GUI库。
作者: t6760915    时间: 2010-05-31 21:18
几百年前的帖子也出来了,我晕
作者: 2gua    时间: 2010-06-01 10:25
竟然还没沉下去啊?
作者: liexusong    时间: 2010-06-01 14:13
正在学wxpython, 感觉还是比较简单的!
作者: 2gua    时间: 2010-06-01 16:14
正在学wxpython, 感觉还是比较简单的!
liexusong 发表于 2010-06-01 14:13



    Python的哲学就是简单高效。
作者: libralibra    时间: 2010-06-23 01:37
看过pyqt的例子,效果很赞
但是信道完全不懂啊
作者: a515200    时间: 2010-08-12 14:55
毫无疑问。。肯定是 wxpython  功能非常强大。建议去看本关于wxpython的书
作者: SNYH    时间: 2010-08-15 16:57
主要平台是windows的话 wx吧
  
qt gtk 的库实在太大了。。

  自己玩玩的话, 各种libaray多差不多了   
现在的GUI 不都是 OO widgets 加 event-loop
作者: yexin218    时间: 2010-08-16 09:22
其实两个我都不熟悉
作者: c2shield    时间: 2010-09-03 15:09
能不能选2样啊?
作者: 我不是老手    时间: 2010-10-22 21:50
WX手写代码多,但无用代码可以自己控制;
QT自动写代码,但无用代码会后期手动清理(不清理也可)


拿分走人!!
作者: nizvoo    时间: 2010-11-05 19:23
用过wx的c++ 库,现在转到qt了。wx官方支持有限,qt有nokia支持。
作者: wmjie    时间: 2010-11-17 13:38
有人能给讲讲 qt 的信道吗?
作者: maoenfeng    时间: 2011-01-07 13:21
随便看看,不作为结论依据。
作者: hp_truth    时间: 2011-03-03 13:32
都没用过, 不过用过MFC, 先从wxpy开始吧
作者: masaic117    时间: 2011-03-24 15:59
一直用wxpython
作者: lipeng8821    时间: 2011-03-24 18:08
一直用QT4 不错。。效率挺高的。。教程也很多

upython 你的python python开源社区
http://www.upython.com
作者: MeaCulpa    时间: 2011-04-16 12:46
wxPy is a lib based on a lib(wx) based on a lib(gtk?).
作者: gaojiasheng_him    时间: 2011-04-17 18:10

作者: greatghoul    时间: 2011-05-03 09:17
wxPython感觉比较亲切一些,个人以为。
作者: KaMakA    时间: 2011-06-02 22:05
wxPython开发简单些,但是兼容性不完美.出来的东西可能会走样和出bug.

qt开发不那么简单,但是出来的东西质量好,虽然没上边的漂亮..

个人感觉.
作者: L_kernel    时间: 2011-06-03 12:33
http://blog.csdn.net/linwhwylb/archive/2011/05/21/6436903.aspx
作者: evilhacker    时间: 2011-06-15 21:23
没有人提到 PyGTK+ ?
作者: huangw425    时间: 2011-07-04 12:40
不懂,先mark着,
作者: guoruimin    时间: 2011-07-07 18:35
打算尝试webui了。
作者: ZSMDEV    时间: 2011-07-08 16:40
解决问题就是好东西。
wx有一本好书wxPython in action。看看书,看看demo代码(最好自己敲一点),基本上 ...
oustar 发表于 2008-12-31 15:11



    感觉wx太繁琐,要记的东西很多,不好
作者: ZSMDEV    时间: 2011-07-08 16:40
个人感觉WX和MFC比较麻烦,但是就是资料多。
GTK和QT资料比较少,尤其qt4是新出的。
jjj137 发表于 2008-12-31 17:21



    个人偏向喜欢qt
作者: ZSMDEV    时间: 2011-07-12 14:44
忘记了,我是在三个平台同时要支持的,这一点wxPython很不错啊,同一个程序在Mac OS X, Linux, Windows都 ...
qinwyo 发表于 2009-03-27 22:29



    qt也是跨平台的啊
作者: renxiao2003    时间: 2011-07-29 23:28
看来大家都看好第一个啊。
作者: renxiao2003    时间: 2011-08-29 12:06
我安装第一个好像没成功。
作者: dongdong82CU    时间: 2012-01-18 10:10
刚开始学的时候也是在wx和QT上纠结,最后还是选的QT....
作者: greatghoul    时间: 2012-02-06 09:35
对于跨平台,尤其是跨到windows下,哪个表现好一些,哪个体积迷你一些?
作者: walleeee    时间: 2012-02-07 16:27
pyqt比wx好太多
作者: askandstudy    时间: 2012-02-19 15:44
pyqt,用了就知道,very good
作者: wch100    时间: 2012-04-26 17:05
表示对QT4非常不解,不同的书不同到风格。。。
作者: lowZoom    时间: 2012-04-27 14:00
两个都用过, 觉得pyqt完胜
作者: yph007595    时间: 2012-04-28 13:05
回复 4# guijia8427


    请问你有wxpython的详细帮助吗,介绍几本看看呗?
作者: d_bsky    时间: 2012-05-06 18:00
都没用过((
作者: wyw5257    时间: 2012-06-16 16:53
方便着来
作者: goldenfort    时间: 2012-08-22 22:52
回复 1# basaka


    现在在 用wxpython  ,  那个demo 程序超级牛B,  感觉学起来很快。
   pyqt 没用过, 以前接触过qt, 感觉学起来没有wxpython 容易吧。
   如果embedded  用,应该qt好
作者: bleem1998    时间: 2012-08-28 09:29
恍惚记得有人提到过
QT的开发已经停止了
项目组都解散了
不是很关心QT也没去考证
作者: songjun54cm    时间: 2012-09-29 01:16
wxPythonti挺好的
作者: 历史的哭泣    时间: 2013-04-02 21:57
PyQt4现在我正在用,感觉挺不错的,比较简单。wxPython听说比较复杂。
作者: 开心星    时间: 2013-06-17 16:05
我只用过wxpython  一般功能界面足够了  qt暂时没有用过
作者: patagonia2    时间: 2013-11-23 15:06
用wxpython 觉得很不错
作者: caiyufei11    时间: 2014-09-11 15:51

作者: Anlongstar    时间: 2018-06-14 21:47
湖南省茂泽信息科技有限公司认为pyQT好一些




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2