换了VSCODE开发,感觉比sublime好点,可能是由于第三版老弹框烦人吧。VSCODE看着也挺好看的。

学习 PyQt5 中文教程

0. 安装完之后错误

pip 安装了 pyqt5

from PyQt5.QtWidgets import QApplication, QWidget

这句错误:E0611:No name 'QApplication' in module 'PyQt5.QtWidgets'

搜到是要sip,卸载python5重新安装了sip后再试还是错误,但是直接在命令行运行是好的。说明现在是外部环境的问题,把当前Anaconda路径换为python3路径,还是有错误。

最后换google一次解决,在VSCODE用户配置里加

  1. "python.linting.pylintArgs": [
  2. "--extension-pkg-whitelist=PyQt5"
  3. ]

ok.

当前版本

  1. Python==3.7.0
  2. PyQt5==5.11.2
  3. PyQt5-sip==4.19.12
  4. sip==4.19.8
  5. 操作系统:win10 64

1. Hello World

加图标的时候,没有反应,根据原作者overflow的链接看的更模糊了。

图片目录在F:\py\py-snippet\hominid\music.png

,换了个绝对路径就好了。

因为

  1. 如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。

我工作目录是在F:\py\py-snippet,python执行时候的目录下没有图片,所以下面两种方式都可以:

  1. self.setWindowIcon(QIcon(sys.path[0]+'/music.png'))
  2. self.setWindowIcon(QIcon('hominid/music.png'))

第一篇很简单,放个窗口,控制大小和位置,退出

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget, QToolTip, QPushButton, QMessageBox, QDesktopWidget
  3. from PyQt5.QtGui import QIcon, QFont
  4. from PyQt5.QtCore import QCoreApplication
  5. class Example(QWidget):
  6. def __init__(self):
  7. super().__init__()
  8. self.initUI()
  9. def initUI(self):
  10. # location and size
  11. self.setGeometry(300,300,300,300)
  12. # title
  13. self.setWindowTitle('Icon')
  14. # icon
  15. self.setWindowIcon(QIcon(sys.path[0]+'/music.png'))
  16. # 提示消息字体
  17. QToolTip.setFont(QFont('Georgia',10))
  18. # 提示框
  19. self.setToolTip('this is <br/><i>python</i> and <i>pyqt5</i><hr/> program')
  20. # 按钮以及提示框
  21. btn=QPushButton('退出',self)
  22. # 退出事件
  23. btn.clicked.connect(QCoreApplication.instance().quit)
  24. btn.setToolTip('quick, quick click')
  25. #btn.resize(btn.sizeHint())
  26. btn.move(50,50)
  27. self.center()
  28. self.show()
  29. # 关闭事件
  30. def closeEvent(self,event):
  31. print('close')
  32. reply = QMessageBox.question(self,"answer","To be or not to be?",QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
  33. if reply == QMessageBox.Yes:
  34. #print(QMessageBox.Yes)
  35. event.accept()
  36. else:
  37. reply = QMessageBox.question(self,'
  38. PyQt5 入门的更多相关文章

      1. PyQt5入门
      1. PyQt5 是用来创建Python GUI应用程序的工具包.作为一个跨平台的工具包,PyQt可以在所有主流操作系统上运行(Unix,Windows,Mac). 本文描述Windows系统下如何安装Py ...

      1. PyQt5入门教程
      1. 原文链接:https://blog.csdn.net/azuremouse/article/details/90338961 问题记录: 1. pip 安装时速度太慢, 需要使用国内镜像 pip in ...

      1. 推荐:pyqt5入门教程
      1. 版权声明:本文为CSDN博主「AzureMouse」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/azure ...

      1. Python3使用PyQt5制作简单的画板/手写板
      1. 0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...

      1. Python PyQT5的入门使用
      1. Python 3+ PyQT5的入门使用 窗口类型介绍 QMainWindow,QWidget和QDialog都是用来创建窗口的.可以直接使用也可以继承后再使用. QMainWindow 该类窗口可以 ...

      1. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
      1.   本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

      1. 二、PyQt5基本功能和操作入门
      1. 在这里,我将根据自己的学习历程从初级到高级介绍pyqt5.因为是学到哪里就写道哪里,所以内容排版比较随意.有两点问题需要先说明: 1.虽然界面的设计可以借助qt designer进行拖拽创建,并且可以 ...

      1. PyQt5编程入门
      1. 1  25行的弹出式闹钟 import sys import time from PyQt5 import QtCore from PyQt5.QtWidgets import QLabel from ...

      1. [ PyQt入门教程 ] PyQt5环境搭建和配置
      1. PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...

    1. 随机推荐

        1. Forth 词典和词汇
        1. body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

        1. web app、hybrid app和native app区别
        1. python笔记8-列表list操作、多维数组
        1. #!/usr/bin/python #python里面有个这个话,代表在linux下运行的时候#去哪个目录下找python的解释器,在windows上运行不用写# coding:utf-8# __*_ ...

        1. python虚拟环境创建
        1. 1.模块安装: pip install virtualenv linux下:pip install virtualenvwrapper(用于workon管理) windows下:pip install ...

        1. STL next_permutation 算法原理和实现
        1. 转载自:https://www.cnblogs.com/luruiyuan/p/5914909.html 目标 STL中的next_permutation 函数和 prev_permutation 两 ...

        1. UnsupportedClassVersionError: org/apache/maven/plugin/compiler/CompilerMojo : Unsupported major.minor version 51.0
        1. 这篇博主说明了原因并给出了相应的解决方案!!! 博文连接如下: https://www.cnblogs.com/qiumingcheng/p/7151629.html

        1. day 08文件与字符编码
        1. ASCII  一个字符占一个字节 GBK 中文使用两个字节,英文使用1个字节,使用开头一个比特位标识是英文还是中文 unicode:支持任何国家的语言,全部字符都是使用两个字节 utf-8 一个英文占 ...

        1. Ubuntu16.04 安装 MySQL
        1. 本篇介绍如何在Ubuntu系统上安装MySQL数据库,以及介绍数据库的基本命令. 一.下载和安装MySQL 可以通过apt-get下载并安装 sudo apt-get install mysql-se ...

        1. Java六大必须理解的问题
        1. Java六大必须理解的问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容 ...

        1. php 调用天气接口
        1. 前几天没事的时候,浏览博客看到了一篇免费天气接口的文章,然后调用了一下文章中提到的接口,自己琢磨了半天,把数据处理了一下,虽然现在用不到,但是说不定以后会用,所以打算记录一下,毕竟这也算是自己第一次在 ...