程序示例精选
Python手写板 画图板 签名工具
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!
前言
这篇博客针对<<Python手写板 画图板 签名工具>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
文章目录
一、所需工具软件
二、使用步骤
1. 引入库
2. 代码实现
3. 运行结果
三、在线协助
一、所需工具软件
1. Python
2. Qt, OpenCV
二、使用步骤
1.引入库
# coding:utf-8
import sys
#从转换的.py文件内调用类
import cv2from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *from PyQt5.uic import loadUifrom 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_PenThicknessChangeself.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 = 0index = 0for color in self.__colorList:if color == "black":index_black = indexcomboBox.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")returnimage = 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++,网页领域博主