当前位置:   article > 正文

Python手写板 画图板 签名工具_qt手写签名

qt手写签名

程序示例精选

Python手写板 画图板 签名工具

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

前言

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


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

       3. 运行结果

三、在线协助

一、所需工具软件

1. Python

2. Qt, OpenCV

二、使用步骤

1.引入库

  1. # coding:utf-8
  2. import sys
  3. #从转换的.py文件内调用类
  4. import cv2
  5. from PyQt5 import QtWidgets, QtCore, QtGui
  6. from PyQt5.QtGui import *
  7. from PyQt5.QtWidgets import *
  8. from PyQt5.QtCore import *
  9. from PyQt5.uic import loadUi
  10. from PaintBoard import PaintBoard
  11. from PyQt5.Qt import QColor,QPixmap,QComboBox,QSize,QIcon,QCheckBox

2. 代码实现

代码如下:

  1. class myWin(QtWidgets.QMainWindow,Ui_MainWindow):
  2. def __init__(self):
  3. super(myWin, self).__init__()
  4. #self.ui = loadUi('untitled.ui')
  5. self.setupUi(self)
  6. self.pushButton.clicked.connect(self.on_login)
  7. self.InitPaintBoard() # 先初始化数据,再初始化界面
  8. # 初始化画板
  9. def InitPaintBoard(self):
  10. # self.__paintBoard = PaintBoard(self) #这句是连接生成画板到界面上
  11. #新加的代码
  12. self.__paintBoard = PaintBoard(self) #这句是连接生成画板到界面上
  13. paintboardlayout=QtWidgets.QVBoxLayout(self)
  14. self.groupBox.setLayout(paintboardlayout)
  15. paintboardlayout.addWidget(self.__paintBoard)
  16. #新加显示颜色下拉的代码
  17. #获取颜色列表(字符串类型)
  18. self.__colorList = QColor.colorNames()
  19. self.__fillColorList(self.comboBox)
  20. #绑定橡皮,粗细,颜色选择信号
  21. self.checkBox.clicked.connect(self.on_cbtn_Eraser_clicked)
  22. self.spinBox.valueChanged.connect(self.on_PenThicknessChange)#关联spinBox值变化信号和函数on_PenThicknessChange
  23. self.comboBox.currentIndexChanged.connect(self.on_PenColorChange) #关联下拉列表的当前索引变更信号与函数on_PenColorChange
  24. #将按键按下信号与画板清空函数相关联
  25. self.pushButton.clicked.connect(self.__paintBoard.Clear)
  26. self.pushButton_2.clicked.connect(self.Quit)
  27. self.pushButton_3.clicked.connect(self.on_btn_Save_Clicked)
  28. #功能函数开始************************************************
  29. def __fillColorList(self, comboBox):
  30. index_black = 0
  31. index = 0
  32. for color in self.__colorList:
  33. if color == "black":
  34. index_black = index
  35. comboBox.setIconSize(QSize(70,20))
  36. comboBox.setSizeAdjustPolicy(QComboBox.AdjustToContents)
  37. comboBox.setCurrentIndex(index_black)
  38. #橡皮选不选中的绑定函数
  39. def on_cbtn_Eraser_clicked(self):
  40. if self.checkBox.isChecked():
  41. self.__paintBoard.EraserMode = True #进入橡皮擦模式
  42. else:
  43. self.__paintBoard.EraserMode = False #退出橡皮擦模式
  44. #颜色选择的函数
  45. def on_PenColorChange(self):
  46. color_index = self.comboBox.currentIndex()
  47. color_str = self.__colorList[color_index]
  48. self.__paintBoard.ChangePenColor(color_str)
  49. def on_btn_Save_Clicked(self):
  50. savePath = QFileDialog.getSaveFileName(self, 'Save Your Paint', '.\\', '*.png')
  51. print(savePath)
  52. if savePath[0] == "":
  53. print("Save cancel")
  54. return
  55. image = self.__paintBoard.GetContentAsQImage()
  56. image.save(savePath[0])
  57. print(savePath[0])
  58. def Quit(self):
  59. self.close()
  60. # 功能函数结束************************************************
  61. def on_login(self):
  62. print("test")
  63. if __name__=="__main__":
  64. app=QtWidgets.QApplication(sys.argv)
  65. Widget=myWin()
  66. Widget.showMaximized();
  67. 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++,网页领域博主

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/532732
推荐阅读
相关标签
  

闽ICP备14008679号