美文网首页PythonPython爬虫程序员
PyQt5学习笔记(一): 来创建第一个PyQt应用吧!

PyQt5学习笔记(一): 来创建第一个PyQt应用吧!

作者: 链球选手 | 来源:发表于2016-04-15 18:19 被阅读4766次

    来创建第一个 PyQt 应用吧!本文由Cescfangs 译自ZetCode pyqt5系列教程 并作适当修改。

    之前用C++做过Qt的应用,用过一次就喜欢上了Qt,但对于C++本身并不是很喜欢(当时本宝宝还年轻😂),可能是因为C++确实很难,在学习Python之后,对于PyQt开发更加感兴趣。话不多说,第一篇介绍如何创建一个简单的窗口。先上源代码:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget
    
    
    if __name__ == '__main__':
        
        app = QApplication(sys.argv)
    
        w = QWidget()
        w.resize(250, 150)
        w.move(300, 300)
        w.setWindowTitle('First PyQt5')
        w.show()
        
        sys.exit(app.exec_())
    

    代码解析:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget
    

    先导入所需要的模块,包括sys,PyQt5.QtWidgetsQApplicationQWidget模块。

    app = QApplication(sys.argv)
    

    每一个PyQt5项目都需要创建一个QApplication对象。sys.argv则提供了命令行的一些参数,这样Python脚本就能从Shell运行,这是我们控制脚本开始运行的方式。

    w = QWidget()
    

    QWidget是所有界面的基类,这里采用默认的构造函数(无父对象,没有父对象的widget也就是window)。

    w.resize(250, 150)
    

    resize函数重设了窗口的大小为250px宽,150px高。

    w.move(300, 300)
    

    move函数把窗口移动到了x=300,y=300d的坐标位置。

    w.setWindowTitle('Simple')
    

    设置了窗口的标题,会在窗口的标题栏中央显示。

    w.show()
    

    show函数让Simple这个窗口在屏幕中显示出来,这个窗口是先在内存中产生,然后再显示在屏幕中的。

    sys.exit(app.exec_())
    

    在开头我们设置了这个应用的主函数,事件由此开始产生,主函数从窗口系统接受事件并传递给widget应用,而当我们使用exit()或者关闭了widget时,主函数就终止。sys.exit()确保干净利落不留痕迹地退出。
    注意到这里的代码exec_(),exec后面还有个'_',这是因为execPython的关键字,为了避免冲突用了一个下短横。最后可以看到一个简单的窗口界面:

    第一个 PyQt

    需要说明的是,Qt自带有QtDesigner设计交互界面,相比手写界面代码是一种更直观的方式,在以后的学习笔记里也会介绍界面与代码分开的方法,但是作为初学,手写一些简单的界面是有助于理解Qt的。

    相关文章

      网友评论

      • ebb7f2a77196:不错,少有的pyqt系列教程。
      • Stack_empty:好棒哟~
      • 少儿创客:如果是系列文章的话建议在文末加入下一个的链接
        链球选手:@向往自由自在的人生 谢谢你的提醒,我会考虑嗒~
      • 泛者:楼主,我用pip安装的pyqt5怎么找不到QT Designer在哪
        链球选手:@广泛兴趣爱好者 Dll 肯定不能运行啊,要找到可执行文件
        泛者:楼主只找到这个Qt5Designer.dll不可以运行
        链球选手:@广泛兴趣爱好者 我是用 brew 安装的,pip 安装的话一般在 /usr/local/Cellar/sip/4.16.8/lib/python3.4/site-packages 下你看看有没有,或者你直接在/usr 路径下搜索一下 QtDesigner 应该能搜得到
      • codepanda64:ZetCode pyqt5系列教程 刚过了一遍,跟着跑了一遍例子 :+1:
        链球选手:@codepanda64 :clap:
      • 妤和:你不是宝宝 :angry:
        妤和:@Cescfangs 是的咯~~~
        链球选手:@妤和 你是咯

      本文标题:PyQt5学习笔记(一): 来创建第一个PyQt应用吧!

      本文链接:https://www.haomeiwen.com/subject/xuunlttx.html