pyqt窗体水印

pyqt窗体水印

  • 介绍
  • 效果
  • 代码

介绍

给窗体加上水印

效果

代码

python 复制代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QPainter, QColor, QFont,QPen
from PyQt5.QtCore import Qt


class WatermarkedWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Watermarked Window')
        self.setGeometry(100, 100, 400, 300)

    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing)

        # 设置水印文本和字体
        watermark_text = "WATERMARK"
        font = QFont()
        font.setPointSize(20)
        font.setItalic(True)
        font.setWeight(QFont.Light)
        painter.setFont(font)

        # 设置水印颜色(通常为半透明)
        color = QColor(0, 0, 0, 128)  # RGB(0, 0, 0) with alpha 128 (50% opacity)
        painter.setPen(QPen(color))

        # 绘制水印(可能需要调整位置和角度以使其看起来像水印)
        width, height = self.width(), self.height()
        tilt = 45  # 水印文本的倾斜角度(可选)
        for i in range(5):  # 绘制多个水印以增加效果
            for j in range(5):
                x = i * (width // 6) - width // 10
                y = j * (height // 6) - height // 10
                painter.save()  # 保存当前状态
                painter.translate(x, y)  # 移动到指定位置
                painter.rotate(tilt)  # 旋转文本(可选)
                painter.drawText(0, font.pointSize(), watermark_text)  # 绘制文本
                painter.restore()  # 恢复之前保存的状态

        # 如果有其他绘制内容,可以在这里添加


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = WatermarkedWindow()
    ex.show()
    sys.exit(app.exec_())
相关推荐
隔窗听雨眠几秒前
FunProxy用Rust构建跨平台全链路测试抓包代理工具
开发语言·后端·rust
y = xⁿ2 分钟前
关于Agent智能体开发
开发语言·前端·javascript
Zhou1411363 分钟前
MyBatisPlus_02_条件构造器与高级功能
java·开发语言·python
geovindu4 分钟前
rust: search
开发语言·后端·rust
重生之小比特23 分钟前
【C++进阶】封装红⿊树实现mymap和myset
开发语言·c++
打工仔折腾 AI24 分钟前
网易UU远程实测:手机控电脑做Python开发和Agent调试的真实体验
人工智能·后端·python·智能手机·性能优化·电脑·ai agent 实战
边境悍匪27 分钟前
蜗牛学苑 Java 智能体学习 Day49|贯穿项目 5 订单下单业务 思维导图复盘
java·开发语言·spring boot·学习·阿里云
轩轶子28 分钟前
Python CLI Todo:一次数据结构错误引发的 Bug
数据结构·python·bug
“AI国潮设计-小江”31 分钟前
【AIGC实战】Python+SDXL打造潮汕国潮IP:英歌舞麻将的自动化生成与商用思路
开发语言·人工智能·python·prompt·aigc
zh路西法35 分钟前
【上手一只MicroDuck】:(一)从机器人结构到强化学习训练框架
python·强化学习·huggingface·ppo·mujoco·microduck