pyqt5界面添加水印
时间: 2023-08-23 14:06:38 浏览: 86
要在PyQt5界面中添加水印,可以使用QPainter类。以下是一个简单的示例代码:
```python
from PyQt5.QtGui import QPainter, QFont
class WatermarkWidget(QWidget):
def __init__(self, text, parent=None):
super().__init__(parent)
self.text = text
def paintEvent(self, event):
painter = QPainter(self)
painter.setOpacity(0.4)
font = QFont('Arial', 30)
painter.setFont(font)
painter.drawText(self.rect(), Qt.AlignCenter, self.text)
```
在上面的代码中,我们创建了一个自定义QWidget类WatermarkWidget,它接受一个字符串作为文本参数。在paintEvent()方法中,我们使用QPainter绘制了文本,并设置了字体和不透明度。
要在主窗口中添加WatermarkWidget,只需将其添加为主窗口的子部件即可:
```python
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Watermark Example')
self.setGeometry(100, 100, 800, 600)
watermark = WatermarkWidget('Watermark Text')
self.setCentralWidget(watermark)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在上面的代码中,我们创建了一个名为MainWindow的主窗口,并在其中心添加了一个WatermarkWidget。现在,当我们运行这个应用程序时,我们将看到一个带有水印文本的窗口。