猫史档案馆


【Python作品分享】新的作品-115【作品秀】

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


【作品展示】

center_image

 

【作品介绍】

有功能介绍

 

【作品源代码】

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


回复

上一页1 页 / 共 0下一页