Jelajahi Sumber

feat: 添加二维码下载功能

leslie 2 tahun lalu
induk
melakukan
2931d4bf9c

+ 0 - 0
ScanUtils/Dialogadd.py → ScanUtils/Dialog/Dialogadd.py


+ 1 - 2
ScanUtils/ScanInput.py

@@ -5,7 +5,6 @@
 @Author :Leslie
 @Date :2023/5/6 9:03 
 '''
-import os
 import time
 
 from PyQt5.QtCore import QCoreApplication
@@ -13,7 +12,7 @@ from PyQt5.QtGui import QIcon
 from PyQt5.QtWidgets import QFileDialog, QMessageBox
 import Config
 from Config import Configuration
-from Dialogadd import Dialogadd
+from Dialog.Dialogadd import Dialogadd
 from ui.Scan import Ui_Form
 
 softwareIconPath = r'./pic/scan.png'

+ 52 - 1
ScanUtils/VersionSet.py

@@ -1,5 +1,7 @@
 import os
 
+import qrcode
+from PIL.ImageQt import ImageQt
 from PyQt5.QtCore import *
 from PyQt5.QtCore import Qt
 from PyQt5.QtGui import *
@@ -141,6 +143,10 @@ class VersionSet(QWidget):
         # 创建保存.txt的文件夹
         self.mkdirFile()
 
+        self.set_fileName_Default()
+
+
+
         self.ui.chipVer_1.activated.connect(self.updateStatus)
         self.ui.chipVer_2.activated.connect(self.updateStatus)
 
@@ -162,7 +168,9 @@ class VersionSet(QWidget):
         self.ui.productDate.dateChanged.connect(self.updateStatus)
 
         # self.ui.copy.clicked.connect(self.copySolf)
-        self.ui.commit.clicked.connect(self.open_ScanInput)
+        # self.ui.commit.clicked.connect(self.open_ScanInput)
+        self.ui.commit.clicked.connect(self.test_aa)
+
         self.ui.change_dir.clicked.connect(self.select_dir)
         # self.ui.read.clicked.connect(self.readSolf
         # self.ui.write.clicked.connect(self.writeSolf)
@@ -182,8 +190,24 @@ class VersionSet(QWidget):
         #self.ScanInput_ui.ui.versionCode.setText(versionCode)
         # self.ScanInput_ui.ui.Deliverydate.setText(productDate)
 
+
+
         self.ScanInput_ui.show()
 
+
+    # 测试按钮
+    def test_aa(self):
+
+        versionCode= self.ui.versionCode.text()
+
+        qr_code = self.generate_qr_code(versionCode)
+
+        file_path_name = "/"+versionCode+".png"
+
+        file_path =self.ui.dir.text() +file_path_name
+
+        self.save_qr_code(qr_code, file_path)
+
     # 创建默认的文件夹
     def mkdirFile(self):
 
@@ -225,9 +249,22 @@ class VersionSet(QWidget):
 
         self.ui.dir.setText(filePathName)
 
+    # 生成二维码
+    def generate_qr_code(self,data: str) -> QPixmap:
+        qr = qrcode.QRCode(version=1, box_size=10, border=4)
+        qr.add_data(data)
+        qr.make(fit=True)
+
+        img = qr.make_image(fill_color="black", back_color="white")
+        pixmap = QPixmap.fromImage(ImageQt(img))
 
+        return pixmap
 
+    # 保存二维码
+    def save_qr_code(self,pixmap: QPixmap, file_path: str):
+        pixmap.save(file_path)
 
+    # 设置初始值
     def setDefault(self):
         self.ui.workCapValue.setCurrentIndex(4)#默认22uF
         self.ui.workCapVender.setCurrentIndex(6)#默认振华
@@ -239,6 +276,20 @@ class VersionSet(QWidget):
         self.ui.lineType.setCurrentIndex(0)
         self.ui.productDate.setDate(QDate.currentDate())
 
+    # 设置文件名称初始值
+    def set_fileName_Default(self):
+
+        versionode= self.ui.versionCode.text()
+        productDate = self.ui.productDate.text()
+
+        fileName = versionode+'_'+productDate+'.txt'
+
+        print(fileName)
+
+        self.ui.file_name.setText(fileName)
+
+
+
     def paramStr2Value(self, content, paramList):
         for item in paramList:
             if content == item[0]:

+ 31 - 2
ScanUtils/ui/VersionSet.py

@@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
 class Ui_Form(object):
     def setupUi(self, Form):
         Form.setObjectName("Form")
-        Form.resize(555, 668)
+        Form.resize(617, 774)
         font = QtGui.QFont()
         font.setPointSize(14)
         Form.setFont(font)
@@ -250,6 +250,32 @@ class Ui_Form(object):
         self.change_dir.setObjectName("change_dir")
         self.horizontalLayout_6.addWidget(self.change_dir)
         self.gridLayout.addLayout(self.horizontalLayout_6, 7, 0, 1, 1)
+        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
+        self.lab_file_name = QtWidgets.QLabel(Form)
+        self.lab_file_name.setMaximumSize(QtCore.QSize(100, 16777215))
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        font.setWeight(75)
+        self.lab_file_name.setFont(font)
+        self.lab_file_name.setObjectName("lab_file_name")
+        self.horizontalLayout_11.addWidget(self.lab_file_name)
+        self.file_name = QtWidgets.QLabel(Form)
+        self.file_name.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+        self.file_name.setObjectName("file_name")
+        self.horizontalLayout_11.addWidget(self.file_name)
+        self.btn_file_name = QtWidgets.QPushButton(Form)
+        self.btn_file_name.setMinimumSize(QtCore.QSize(100, 35))
+        self.btn_file_name.setMaximumSize(QtCore.QSize(100, 16777215))
+        font = QtGui.QFont()
+        font.setPointSize(14)
+        font.setBold(True)
+        font.setWeight(75)
+        self.btn_file_name.setFont(font)
+        self.btn_file_name.setObjectName("btn_file_name")
+        self.horizontalLayout_11.addWidget(self.btn_file_name)
+        self.gridLayout.addLayout(self.horizontalLayout_11, 8, 0, 1, 1)
         self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
         self.horizontalLayout_7.setObjectName("horizontalLayout_7")
         self.label = QtWidgets.QLabel(Form)
@@ -274,7 +300,7 @@ class Ui_Form(object):
         self.commit.setFont(font)
         self.commit.setObjectName("commit")
         self.horizontalLayout_7.addWidget(self.commit)
-        self.gridLayout.addLayout(self.horizontalLayout_7, 8, 0, 1, 1)
+        self.gridLayout.addLayout(self.horizontalLayout_7, 9, 0, 1, 1)
 
         self.retranslateUi(Form)
         QtCore.QMetaObject.connectSlotsByName(Form)
@@ -306,6 +332,9 @@ class Ui_Form(object):
         self.lab_dir.setText(_translate("Form", "默认路径:"))
         self.dir.setText(_translate("Form", "000500"))
         self.change_dir.setText(_translate("Form", "更改目录"))
+        self.lab_file_name.setText(_translate("Form", "文件名称:"))
+        self.file_name.setText(_translate("Form", "538614100080F293_2023年5月30日.txt"))
+        self.btn_file_name.setText(_translate("Form", "修改名称"))
         self.label.setText(_translate("Form", "版本代码:"))
         self.versionCode.setText(_translate("Form", "001122"))
         self.commit.setText(_translate("Form", "确定"))

+ 62 - 2
ScanUtils/ui/VersionSet.ui

@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>555</width>
-    <height>668</height>
+    <width>617</width>
+    <height>774</height>
    </rect>
   </property>
   <property name="font">
@@ -408,6 +408,66 @@
     </layout>
    </item>
    <item row="8" column="0">
+    <layout class="QHBoxLayout" name="horizontalLayout_11">
+     <item>
+      <widget class="QLabel" name="lab_file_name">
+       <property name="maximumSize">
+        <size>
+         <width>100</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>14</pointsize>
+         <weight>75</weight>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="text">
+        <string>文件名称:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="file_name">
+       <property name="text">
+        <string>538614100080F293_2023年5月30日.txt</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="btn_file_name">
+       <property name="minimumSize">
+        <size>
+         <width>100</width>
+         <height>35</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>100</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>14</pointsize>
+         <weight>75</weight>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="text">
+        <string>修改名称</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="9" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout_7">
      <item>
       <widget class="QLabel" name="label">