用户:英俊小子查看:0 回复:0 评论:0 创建时间:2021-02-25T10:17:59
【作品展示】

【作品介绍】
点击1选择图片,点击2选择素材,点击3保存
【作品源代码】
import sys
from PySide2.QtCore import*
from PySide2.QtWidgets import*
from PySide2.QtGui import*
class Tray(QMainWindow):
def __init__(self):
super().__init__()
self.setup()
self.show()
def setup(self):
self.img=None
self.material=None
self.painter=QPainter()
def paintEvent(self,event):
if self.img:
self.painter.begin(self)
self.painter.drawPixmap(0,0,self.img)
self.painter.end()
def mousePressEvent(self,event):
x=event.x()
y=event.y()
if self.img and self.material:
self.painter.begin(self.img)
w=self.material.width()//2
h=self.material.height()//2
self.painter.drawPixmap(x-w,y-h,self.material)
self.painter.end()
#self.img.save('画家.png')
self.update()
def keyPressEvent(self,event):
if event.key()==Qt.Key_1:
file,_=QFileDialog.getOpenFileName(caption='选择原图',filter='( *.jpg *.png *.bmp)')
if file:
self.img=QPixmap(file)
width=self.img.width()
height=self.img.height()
self.resize(width,height)
elif event.key()==Qt.Key_2:
file,_=QFileDialog.getOpenFileName(caption='选择素材',filter='( *.jpg *.png *.bmp *.gif)')
if file:
self.material=QPixmap(file)
self.setCursor(QCursor(self.material))
elif event.key()==Qt.Key_3:
if self.img:
file,_=QFileDialog.getSaveFileName(caption='保存结果',filter='( *.jpg *.png *.bmp *.gif)')
if file:
self.img.save(file)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Tray()
sys.exit(app.exec_())
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn