PyQt5 入门
PyQt5 入门
换了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用户配置里加
"python.linting.pylintArgs": [
"--extension-pkg-whitelist=PyQt5"
]
ok.
当前版本
Python==3.7.0
PyQt5==5.11.2
PyQt5-sip==4.19.12
操作系统:win10 64位
1. Hello World
加图标的时候,没有反应,根据原作者overflow的链接看的更模糊了。
图片目录在F:\py\py-snippet\hominid\music.png
,换了个绝对路径就好了。
因为
如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。
我工作目录是在F:\py\py-snippet
,python执行时候的目录下没有图片,所以下面两种方式都可以:
self.setWindowIcon(QIcon(sys.path[0]+'/music.png'))
self.setWindowIcon(QIcon('hominid/music.png'))
第一篇很简单,放个窗口,控制大小和位置,退出
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QToolTip, QPushButton, QMessageBox, QDesktopWidget
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import QCoreApplication
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# location and size
self.setGeometry(300,300,300,300)
# title
self.setWindowTitle('Icon')
# icon
self.setWindowIcon(QIcon(sys.path[0]+'/music.png'))
# 提示消息字体
QToolTip.setFont(QFont('Georgia',10))
# 提示框
self.setToolTip('this is <br/><i>python</i> and <i>pyqt5</i><hr/> program')
# 按钮以及提示框
btn=QPushButton('退出',self)
# 退出事件
btn.clicked.connect(QCoreApplication.instance().quit)
btn.setToolTip('quick, quick click')
#btn.resize(btn.sizeHint())
btn.move(50,50)
self.center()
self.show()
# 关闭事件
def closeEvent(self,event):
print('close')
reply = QMessageBox.question(self,"answer","To be or not to be?",QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
if reply == QMessageBox.Yes:
#print(QMessageBox.Yes)
event.accept()
else:
reply = QMessageBox.question(self,'