使用pyqt5编写添加水印
时间: 2024-02-24 14:31:04 浏览: 178
tcp_udp_web_tools-pyqt5-master_pyqt5串口_pyqt5udp_pyqt5_pyqt5编写UDP
以下是使用 PyQt5 实现添加水印的示例代码:
```python
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class AddWatermark(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('添加水印')
self.setGeometry(300, 300, 500, 400)
self.label = QLabel(self)
self.label.setGeometry(QRect(100, 100, 300, 200))
self.label.setAlignment(Qt.AlignCenter)
self.label.setStyleSheet('QLabel { background-color: #FFF; color: #000; font-size: 50px; }')
self.text = QLineEdit(self)
self.text.setGeometry(QRect(100, 10, 300, 30))
self.btn = QPushButton('添加水印', self)
self.btn.setGeometry(QRect(200, 50, 100, 30))
self.btn.clicked.connect(self.addWatermark)
def addWatermark(self):
text = self.text.text()
pix = QPixmap(self.label.size())
pix.fill(Qt.transparent)
painter = QPainter(pix)
painter.drawText(pix.rect(), Qt.AlignCenter, text)
painter.end()
self.label.setPixmap(pix)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = AddWatermark()
ex.show()
sys.exit(app.exec_())
```
该示例代码实现了一个简单的 GUI 程序,用户可以在文本框中输入水印文字,然后点击按钮添加水印到一个 QLabel 控件上。具体实现步骤如下:
1. 创建一个 QWidget 对象作为主窗口;
2. 创建一个 QLabel 对象,并设置其位置和样式;
3. 创建一个 QLineEdit 对象,用于输入水印文字;
4. 创建一个 QPushButton 对象,用于触发添加水印的操作;
5. 实现添加水印的方法,具体步骤如下:
* 获取用户输入的水印文字;
* 创建一个 QPixmap 对象,大小与 QLabel 控件相同,填充透明色;
* 创建一个 QPainter 对象,用于在 QPixmap 上绘制水印文字;
* 调用 setPixmap 方法将 QPixmap 对象设置为 QLabel 的背景图案。
请注意,这只是一个简单的示例代码,实际应用中可能需要更多的优化和改进。
阅读全文