Python手写板 画图板 签名工具

程序示例精选

Python手写板 画图板 签名工具

如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对<<Python手写板 画图板 签名工具>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

       3. 运行结果

三、在线协助

一、所需工具软件

1. Python

2. Qt, OpenCV

二、使用步骤

1.引入库

# coding:utf-8
import sys
#从转换的.py文件内调用类
import cv2

from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

from PyQt5.uic import loadUi

from PaintBoard import PaintBoard
from PyQt5.Qt import QColor,QPixmap,QComboBox,QSize,QIcon,QCheckBox

2. 代码实现

代码如下:

class myWin(QtWidgets.QMainWindow,Ui_MainWindow):

    def __init__(self):
        super(myWin, self).__init__()
        #self.ui = loadUi('untitled.ui')
        self.setupUi(self)

        self.pushButton.clicked.connect(self.on_login)


        self.InitPaintBoard()  # 先初始化数据,再初始化界面

    # 初始化画板
    def InitPaintBoard(self):
        # self.__paintBoard = PaintBoard(self) #这句是连接生成画板到界面上

        #新加的代码
        self.__paintBoard = PaintBoard(self) #这句是连接生成画板到界面上
        paintboardlayout=QtWidgets.QVBoxLayout(self)
        self.groupBox.setLayout(paintboardlayout)
        paintboardlayout.addWidget(self.__paintBoard)

        #新加显示颜色下拉的代码
        #获取颜色列表(字符串类型)
        self.__colorList = QColor.colorNames()
        self.__fillColorList(self.comboBox)


        #绑定橡皮,粗细,颜色选择信号
        self.checkBox.clicked.connect(self.on_cbtn_Eraser_clicked)
        self.spinBox.valueChanged.connect(self.on_PenThicknessChange)#关联spinBox值变化信号和函数on_PenThicknessChange
        self.comboBox.currentIndexChanged.connect(self.on_PenColorChange) #关联下拉列表的当前索引变更信号与函数on_PenColorChange

        #将按键按下信号与画板清空函数相关联
        self.pushButton.clicked.connect(self.__paintBoard.Clear)
        self.pushButton_2.clicked.connect(self.Quit)
        self.pushButton_3.clicked.connect(self.on_btn_Save_Clicked)


    #功能函数开始************************************************
    def __fillColorList(self, comboBox):

        index_black = 0
        index = 0
        for color in self.__colorList:
            if color == "black":
                index_black = index

            comboBox.setIconSize(QSize(70,20))
            comboBox.setSizeAdjustPolicy(QComboBox.AdjustToContents)

        comboBox.setCurrentIndex(index_black)

    #橡皮选不选中的绑定函数
    def on_cbtn_Eraser_clicked(self):
        if self.checkBox.isChecked():
            self.__paintBoard.EraserMode = True #进入橡皮擦模式
        else:
            self.__paintBoard.EraserMode = False #退出橡皮擦模式
    #颜色选择的函数
    def on_PenColorChange(self):
        color_index = self.comboBox.currentIndex()
        color_str = self.__colorList[color_index]
        self.__paintBoard.ChangePenColor(color_str)



    def on_btn_Save_Clicked(self):
        savePath = QFileDialog.getSaveFileName(self, 'Save Your Paint', '.\\', '*.png')
        print(savePath)
        if savePath[0] == "":
            print("Save cancel")
            return
        image = self.__paintBoard.GetContentAsQImage()
        image.save(savePath[0])
        print(savePath[0])

    def Quit(self):
        self.close()

    # 功能函数结束************************************************

    def on_login(self):
        print("test")

if __name__=="__main__":

    app=QtWidgets.QApplication(sys.argv)
    Widget=myWin()
    Widget.showMaximized();
    sys.exit(app.exec_())

3. 运行结果

 

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作

博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荷塘月色2

您的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值