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
sip==4.19.8
操作系统: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,'
PyQt5 入门的更多相关文章
- PyQt5入门
PyQt5 是用来创建Python GUI应用程序的工具包.作为一个跨平台的工具包,PyQt可以在所有主流操作系统上运行(Unix,Windows,Mac). 本文描述Windows系统下如何安装Py ...
- PyQt5入门教程
原文链接:https://blog.csdn.net/azuremouse/article/details/90338961 问题记录: 1. pip 安装时速度太慢, 需要使用国内镜像 pip in ...
- 推荐:pyqt5入门教程
版权声明:本文为CSDN博主「AzureMouse」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/azure ...
- Python3使用PyQt5制作简单的画板/手写板
0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...
- Python PyQT5的入门使用
Python 3+ PyQT5的入门使用 窗口类型介绍 QMainWindow,QWidget和QDialog都是用来创建窗口的.可以直接使用也可以继承后再使用. QMainWindow 该类窗口可以 ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- 二、PyQt5基本功能和操作入门
在这里,我将根据自己的学习历程从初级到高级介绍pyqt5.因为是学到哪里就写道哪里,所以内容排版比较随意.有两点问题需要先说明: 1.虽然界面的设计可以借助qt designer进行拖拽创建,并且可以 ...
- PyQt5编程入门
1 25行的弹出式闹钟 import sys import time from PyQt5 import QtCore from PyQt5.QtWidgets import QLabel from ...
- [ PyQt入门教程 ] PyQt5环境搭建和配置
PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...
随机推荐
- redis不重启,切换RDB备份到AOF备份
确保redis版本在2.2以上 [root@pyyuc /data ::]#redis-server -v Redis server v= sha=: malloc=jemalloc- bits= b ...
- html页面调用js文件里的函数报错-->方法名 is not defined处理方法
前几天写了一个时间函数setInterval,然后出现了这个错误:Uncaught ReferenceError: dosave is not defined(…) 找了半天都没发现错在哪,最后找到解 ...
- 学习animejs
1.安装方式 (1)npm install animejs 2.引入 import anime from 'animejs' 3.使用 (anime({ targets: 'div', transla ...
- ios 中pickerView城市选择和UIDatePicker生日选择
代码详见压缩包
- 关于pdfbox操作pdf的分享链接手长
http://blog.csdn.net/fighting_no1/article/details/51038966
- ubuntu16.04 配置双网卡机器
本文介绍一台具有双有线网卡的机器在Linux下如何配置双网卡 系统平台:Ubuntu16.04 1:查看机器网卡信息,是否双网卡都能正确被机器pci识别 可以通过以下命令查看设备网卡,若果看到两条网卡 ...
- 5.移动终端App测试点归纳
以下所有测试最后必须在真机上完整的执行. 1 安装.卸载测试 1.1 在真机上.第三方软件(xy苹果助手.91.安卓助手)的安装与卸载 1.2 安装在手机卡上 或 SD卡上 (不同的IOS和安卓版本) ...
- 神州数码OSPF基于区域认证(简单、MD5认证)
实验要求:掌握基于区域的简单认证及MD5认证 拓扑如下 简单认证 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface l0 进入端口 i ...
- 基于python的unittest测试框架集成到jenkins(Mac)
1.jenkins部分 1.1 安装jenkins jenkins下载地址:https://jenkins.io/download/ 安装步骤,疯狂点击下一步 1.2 打开jenkins服务 在浏览器 ...
- Java面向对象 第3节 类的封装和继承
一.封装 封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作. 封装的2个大致原则:1)把尽可能多的东西隐藏起来,对外提供便捷的接口 ...