用户:名称重复查看:0 回复:0 评论:0 创建时间:2021-10-04T16:44:58
【作品展示】

【作品介绍】
有功能介绍
【作品源代码】
import sys
import turtle
from PySide2.QtGui import *
from PySide2.QtWidgets import *
from PySide2.QtCore import *
turtle.penup()
turtle.goto(-450, 0)
turtle.pendown()
turtle.write("1、2、3、4为选择背景、选择打印物品、保存和清除打印物品", font=("Arial", 25))
turtle.done()
class painter(QMainWindow):
def __init__(self):
super().__init__()
self.setup()
self.show()
def setup(self):
self.img = None
self.material = None
self.painter = QPainter()
self.copy_img = None
#width = self.img.width()
#height = self.img.height()
#self.resize(width, height)
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()
print(x, 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.update()
def keyPressEvent(self, event):
if event.key() == Qt.Key_1:
file, _ = QFileDialog.getOpenFileName(caption="选择原图", filter="(*.jpg *.png *.ico *.bmp *.xbm *.xpm)")
if file:
self.img = QPixmap(file)
self.copy_img = self.img.copy()
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)")
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)")
if file:
self.img.save(file)
elif event.key() == Qt.Key_4:
if self.img and self.copy_img:
self.img = self.copy_img.copy()
self.update()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = painter()
sys.exit(app.exec_())
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn