(python热门库之)PyQt5常用代码

在这里插入图片描述又见面了,本期文章小编整理了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))  # 显示图片

一口气整理完这些内容,我应该是这个样子:
在这里插入图片描述我这么秀,你不关注,收藏一波吗?
在这里插入图片描述
备注:各位读者如有觉得应该添加的内容。请评论区留言。小编也会不断更新干货,谢谢大家支持。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盧瞳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值