又见面了,本期文章小编整理了PyQt5中常用的操作,不得不说它的内容有点多,整理了一些,小编后续还会添加新的内容。
文章有内容参考来自 https://www.likecs.com/show-203767022.html 自定义一个的能点击的QLabel类
可能需要导入的库
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtCore import *
鼠标事件
'''自定义一个的能点击的QLabel类'''
class myImgLabel(QtWidgets.QLabel):
def __init__(self, parent=None):
super(myImgLabel, self).__init__(parent)
f = QFont("ZYSong18030", 10) # 设置字体,字号
self.setFont(f) # 未来自定义事件后,该两句删掉或注释掉
'''重载一下鼠标按下事件(单击)'''
def mousePressEvent(self, event):
if event.buttons() == QtCore.Qt.LeftButton: # 左键按下
self.setText("单击鼠标左键的事件: 自己定义")
print("单击鼠标左键") # 响应测试语句
elif event.buttons() == QtCore.Qt.RightButton: # 右键按下
self.setText("单击鼠标右键的事件: 自己定义")
print("单击鼠标右键") # 响应测试语句
elif event.buttons() == QtCore.Qt.MidButton: # 中键按下
self.setText("单击鼠标中键的事件: 自己定义")
print("单击鼠标中键") # 响应测试语句
elif event.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.RightButton: # 左右键同时按下
self.setText("同时单击鼠标左右键的事件: 自己定义")
print("单击鼠标左右键") # 响应测试语句
elif event.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.MidButton: # 左中键同时按下
self.setText("同时单击鼠标左中键的事件: 自己定义")
print("单击鼠标左中键") # 响应测试语句
elif event.buttons() == QtCore.Qt.MidButton | QtCore.Qt.RightButton: # 右中键同时按下
self.setText("同时单击鼠标右中键的事件: 自己定义")
print("单击鼠标右中键") # 响应测试语句
elif event.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.MidButton \
| QtCore.Qt.RightButton: # 左中右键同时按下
self.setText("同时单击鼠标左中右键的事件: 自己定义")
print("单击鼠标左中右键") # 响应测试语句
'''重载一下滚轮滚动事件'''
def wheelEvent(self, event):
# if event.delta() > 0: # 滚轮上滚,PyQt4
# This function has been deprecated, use pixelDelta() or angleDelta() instead.
angle = event.angleDelta() / 8 # 返回QPoint对象,为滚轮转过的数值,单位为1/8度
angleX = angle.x() # 水平滚过的距离(此处用不上)
angleY = angle.y() # 竖直滚过的距离
if angleY > 0:
self.setText("滚轮向上滚动的事件: 自己定义")
print("鼠标滚轮上滚") # 响应测试语句
else: # 滚轮下滚
self.setText("滚轮向下滚动的事件: 自己定义")
print("鼠标滚轮下滚") # 响应测试语句
'''重载一下鼠标双击事件'''
def mouseDoubieCiickEvent(self, event):
# if event.buttons () == QtCore.Qt.LeftButton: # 左键按下
# self.setText ("双击鼠标左键的功能: 自己定义")
self.setText("鼠标双击事件: 自己定义")
'''重载一下鼠标键释放事件'''
def mouseReleaseEvent(self, event):
self.setText("鼠标释放事件: 自己定义")
print("鼠标释放") # 响应测试语句
'''重载一下鼠标移动事件'''
def mouseMoveEvent(self, event):
self.setText("鼠标移动事件: 自己定义")
print("鼠标移动") # 响应测试语句
字体设置
lineEdit = QLineEdit()
font = QtGui.QFont()
font.setPointSize(11) # 括号里的数字可以设置成自己想要的字体大小
font.setFamily("SimHei") # 黑体
lineEdit.setFont(font)
'''
常用函数
setFamily() 设置字体类型 如宋体 楷体微软雅黑 Consolas 等
setStyleName() “Normal” 正常 “Bold” 加粗 “Italic” 斜体 “Bold Italic” 加粗斜体
setPointSize() 设置点大小
setPixelSize() 设置像素大小
setWeight() 设置粗细
setBold(bool) 设置加粗
setStyle(Style style) 设置字体风格 待验证
setItalic(bool b) 设置斜体
setUnderline(bool) 设置下划线
setOverline(bool) 设置上划线
常用字体
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微軟正黑體:Microsoft JhengHei
微软雅黑体:Microsoft YaHei
隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei
'''
QLineEdit设置回显模式
lineEdit = QLineEdit()
lineEdit.setEchoMode(QLineEdit.Normal)
'''
可选
QLineEdit.Normal # 正常
QLineEdit.NoEcho # 不显示
QLineEdit.Password # 密码形式
QLineEdit.PasswordEchoOnEdit # 编辑时正常显示,焦点离开时密码形式显示
'''
设置窗口样式
QtWidgets.QWidget.setWindowFlags(Qt.WindowFlags)
'''
Qt.WindowFlags类如下:
1.窗口类型
QtCore.Qt.Widget # 插件默认窗口,有最小化、最大化、关闭按钮
QtCore.Qt.Window # 普通窗口,有最小化、最大化、关闭按钮
QtCore.Qt.Dialog # 对话框窗口,有问号和关闭按钮
QtCore.Qt.Popup # 弹出窗口,窗口无边框化
QtCore.Qt.ToolTip # 提示窗口,窗口无边框化,无任务栏窗口
QtCore.Qt.SplashScreen # 飞溅屏幕,窗口无边框化,无任务栏窗口
QtCore.Qt.SubWindow # 子窗口,窗口无按钮但有标题栏
2.使用自定义外观的顶层窗口标志
QtCore.Qt.MSWindowsFixedSizeDialogHint # 窗口无法调整大小
QtCore.Qt.FramelessWindowHint # 窗口无边框化
QtCore.Qt.CustomizeWindowHint # 有边框但无标题栏和按钮,不能移动和拖动
QtCore.Qt.WindowTitleHint # 添加标题栏和一个关闭按钮
QtCore.Qt.WindowSystemMenuHint # 添加系统目录和一个关闭按钮
QtCore.Qt.WindowMaximizeButtonHint # 激活最大化和关闭按钮,禁止最小化按钮
QtCore.Qt.WindowMinimizeButtonHint # 激活最小化和关闭按钮,禁止最大化按钮
QtCore.Qt.WindowMinMaxButtonsHint # 激活最小化、最大化和关闭按钮,#相当于QtCore.Qt.WindowMaximizeButtonHint|QtCore.Qt.WindowMinimizeButtonHint
QtCore.Qt.WindowCloseButtonHint # 添加一个关闭按钮
QtCore.Qt.WindowContextHelpButtonHint # 添加问号和关闭按钮,像对话框一样
QtCore.Qt.WindowStaysOnTopHint # 窗口始终处于顶层位置
QtCore.Qt.WindowStaysOnBottomHint#窗口始终处于底层位置
'''
显示图片
imgLabel = myImgLabel() # 声明imgLabel
image = QImage() # 声明新img
image.load("image/cc2.png")
imgLabel.setPixmap(QPixmap.fromImage(image)) # 显示图片
一口气整理完这些内容,我应该是这个样子:
我这么秀,你不关注,收藏一波吗?
备注:各位读者如有觉得应该添加的内容。请评论区留言。小编也会不断更新干货,谢谢大家支持。