`
hideto
  • 浏览: 2677861 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

wxPython和PyQt的Hello World例子比较

阅读更多
wxPython和PyQt分别是wxWidgets和Qt的python绑定,wxWidgets和Qt都是跨平台的GUI库,不过前者是开源免费的,而后者是基于商业License
让我们分别看看wxPython和PyQt的Hello World程序

wxPython
首先去http://www.python.org下载Windows下的python2.5,然后去http://www.wxpython.org下载相应的Windows安装包
装好后写个hellowx.py看看效果:
import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):

        wx.Frame.__init__(self, parent, -1, title, pos=(150, 150), size=(350, 200))

        menuBar = wx.MenuBar()
        self.SetMenuBar(menuBar)
        menu = wx.Menu()
        menu.Append(wx.ID_EXIT, "E&xit", "Exit this application")
        self.Bind(wx.EVT_MENU, self.OnTimeToClose, id=wx.ID_EXIT)
        menuBar.Append(menu, "&File")

        panel = wx.Panel(self)
        text = wx.StaticText(panel, -1, "Hello wxPython!")
        text.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD))
        text.SetSize(text.GetBestSize())
        panel.Layout()

    def OnTimeToClose(self, evt):
        self.Close()

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, "Hello wxPython!")
        self.SetTopWindow(frame)
        frame.Show(True)
        return True
        
app = MyApp()
app.MainLoop()

App->Frame->MenuBar/Panel,结构很清晰

PyQt
http://www.quadgames.com/download/pythonqt/下载Windows的PyQt安装包,PyQtGPL10.exe目前只支持到Python2.4
然后写个helloqt.py看看效果:
import sys
from qt import *

class HelloButton(QPushButton):
    def __init__(self, *args):
        QPushButton.__init__(self, *args)
        self.setText("Hello World")

class HelloWindow(QMainWindow):
    def __init__(self, *args):
        QMainWindow.__init__(self, *args)
        self.button = HelloButton(self)
        self.setCentralWidget(self.button)

def main(args):
    app = QApplication(args)
    win = HelloWindow()
    win.show()
    app.connect(app, SIGNAL("lastWindowClosed()"),
    app, SLOT("quit()"))
    app.exec_loop()

if __name__ == "__main__":
    main(sys.argv)

也是App->Window->MenuBar的模式,同wx没多大区别

体验
总体觉得Qt的类名起的有点怪异,wxPython看起来很优美
分享到:
评论

相关推荐

    修改图标后的HelloWorld.zip

    为了进一步理解这个实验,你需要解压"HelloWorld.zip"文件,查看其中的源代码和项目配置文件。通过阅读代码,可以发现用于设置图标的特定行,这将帮助你理解在实际项目中如何进行类似的修改。同时,你也可以尝试自己...

    自动办公-32 Python制作图形用户界面(GUI)让操作可视化

    PyQt和wxPython则是另外两个流行的选择,它们提供了更丰富的功能和更接近原生平台的外观。PyQt基于Qt库,而wxPython则依赖于wxWidgets,这两个库都是跨平台的,可以在Windows、Linux和macOS上运行。 在开发GUI应用...

    Python-pywebview是webview组件的轻量级跨平台原生封装实现利用Web技术开发GUI应用

    在创建图形用户界面(GUI)应用时,Python 提供了多种库,如 Tkinter、wxPython 和 PyQt。然而,对于希望使用 Web 技术(如 HTML、CSS 和 JavaScript)构建桌面应用的开发者来说,`pywebview` 是一个非常实用的选择...

    图形用户界面参考代码.zip

    PyQt和wxPython则提供了更高级的功能和更接近原生操作系统的外观,适合开发复杂的跨平台应用。Kivy则专为触摸设备设计,适合开发移动应用或触摸屏应用。 首先,让我们深入了解一下Tkinter库。Tkinter是基于Tk图形库...

    python_GUI.rar_gui python_python gui_python3 gui

    在Python中,有多种库可用于构建GUI,如Tkinter(Python的标准GUI库)、PyQt、wxPython、Kivy等。本资源“python_GUI.rar”主要关注的是在Python 3.5环境下使用GUI编程的基础知识。 首先,我们来看Tkinter库,它是...

    python基础归纳

    3. **桌面 GUI 软件开发:** wxPython 和 PyQt 等库提供了丰富的界面开发工具。 4. **网络应用开发:** Python 内置了支持网络通信的模块,并有如 Twisted 和 Stackless 这样的第三方库。 5. **2/3D 图形处理及游戏...

    基于python语言的GUI界面编程背记手册

    Python提供了多种库来实现GUI编程,如Tkinter、PyQt、wxPython、Kivy等。其中,Tkinter是Python的标准GUI库,内置在大多数Python安装中,因此非常适合初学者。 首先,让我们关注Tkinter库。Tkinter提供了大量的组件...

    python入门培训.ppt

    - **桌面GUI软件开发**:如使用wxPython和PyQT库创建图形界面应用。 - **网络应用开发**:Python的内置网络模块和第三方框架如Twisted和Stackless支持网络编程。 - **2/3D图形处理和游戏开发**:PIL库用于图像处理,...

    Python的GUI框架PySide的安装配置教程

    此外,还有一些第三方的GUI框架,如WxPython、PyQt和PySide等,它们提供了更现代、功能更强大的GUI解决方案。 PySide是一种基于Qt的GUI库,它允许开发者利用Qt丰富的组件和特性来创建美观且功能全面的应用程序。与...

    Python库- easygui

    在Python中,有许多其他的GUI库,如Tkinter、wxPython、PyQt等,但这些库往往需要更多的代码量和对GUI编程的深入理解。EasyGUI则通过提供高度封装的函数,使得开发者只需要几行代码就能构建一个GUI应用。 EasyGUI的...

    python实例61-Python制作图形用户界面(GUI)让操作可视化.rar

    Python提供了多种库来创建GUI应用,如Tkinter、PyQt、wxPython等。本实例将重点讲解使用Tkinter库创建一个简单的GUI应用。 Tkinter是Python的标准GUI库,它基于Tcl/Tk库。这个库易于学习,适合初学者快速构建GUI...

    Python入门教程超详细1小时学会Python.docx

    在GUI编程中,PyQt、Tkinter和wxPython等库提供了丰富的组件和功能。在科学计算领域,NumPy、SciPy和Pandas等库则让数据分析和可视化变得简单高效。 Python的另一个显著特点是其面向对象编程的支持。虽然示例代码...

    python3基础教程(2).doc

    - GUI 编程:提供多种库用于图形用户界面开发,如 Tkinter、PyQt、wxPython 等。 - 可嵌入性:Python 可以被嵌入到其他 C/C++ 应用程序中,增加脚本化功能。 4. Python 环境搭建 在不同的操作系统上,安装 Python ...

    图形用户界面

    在Python编程语言中,实现GUI的应用程序开发有许多库可供选择,如Tkinter、PyQt、wxPython和Kivy等。 **Tkinter——Python的标准GUI库** Tkinter是Python的默认GUI库,它基于Tcl/Tk库。Tkinter提供了丰富的控件和...

    PyPI 官网下载 | python-fontbro-0.2.3.tar.gz

    总结起来,`python-fontbro-0.2.3.tar.gz`是一个用于Python的字体管理库,提供了便捷的字体获取、筛选和比较功能。通过熟练掌握和运用`fontbro`,开发者可以在处理字体相关的任务时提高效率,为项目增添更多可能性。...

    python-4-GUI编程(第一部分).zip

    在Python中,有多个库可以帮助我们实现GUI编程,例如Tkinter、PyQt、wxPython、Kivy等。本教程将主要关注Tkinter库,它是Python的标准GUI库,适用于所有操作系统。 在Python中,GUI编程的基本思想是通过创建窗口和...

    PythonGUI编程

    另一个流行的选项是PyQt,它基于Qt库,提供了更现代、更丰富的组件和设计模式,适用于复杂的跨平台应用。还有wxPython,它是wxWidgets库的Python绑定,提供了一种与原生操作系统界面接近的体验。 在GUI编程中,我们...

    图形用户界面和游戏开发.md

    例如,如果需要更高级的GUI特性或更好的外观,可以考虑使用**wxPython**、**PyQt**或**PyGTK**等第三方库。不过,对于简单的应用来说,tkinter仍然是一个非常实用且容易上手的选择。 ##### 使用tkinter开发GUI应用...

    python教程

    - **Hello World 程序:** - 创建一个简单的 GUI 应用程序,当用户点击按钮时弹出“Hello, World!”的消息框。 - **框架和 GUI 应用程序类:** - **框架(Frame):** 用于容纳其他组件的容器。 - **Application 类:...

    PYTHON从入门到精通.doc

    2. **第一个Python程序**:通常,初学者会从"Hello, World!"程序开始,这涉及编写简单的语句并保存为`.py`文件,然后通过命令行运行。 3. **文本编辑器**:选择一个适合Python编程的文本编辑器或IDE,如VS Code、...

Global site tag (gtag.js) - Google Analytics