程序示例精选
Python手写板 画图板 签名工具
如需安装运行环境或远程调试,可点击右边博主头像或昵称进入个人主页查看博主联系方式,由专业技术人员远程协助!
前言
这篇博客针对<<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. 运行结果
编辑
三、在线协助:
如需安装运行环境或远程调试, 可点击右边 博主头像 或 昵称 , 进入个人主页查看博主联系方式 ,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作
博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客
博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客
Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客
个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主
博主所有文章点这里:alicema1111的博客_CSDN博客-Python,C++,网页领域博主