1.介绍说明

本程序类似于按键精灵,代替用户执行重复性的的按键、输入文本、鼠标点击功能,可设置时间延迟。

示例如图:


使用流程:
1.共有ABCDEF六套方案,用户编辑任意方案
2.点击打开,可打开之前保存的方案
  点击保存,可保存方案。
  点击生成之后将不可编辑,并且开始监听热键,启动热键执行方案,结束热键均为F12
  点击修改之后可以修改,结束监听按键,按键将无法执行,修改完成点击生成
3.按键框可输入普通按键,如N,1,t等,执行时会按压此键
  按键框可输入文本,如:adsaf,123234等,执行时会输入此文本    
  按键框激活时,按压TAB 或者回车键,按键框会相应,,执行时照此执行
  按键框激活时,在按键框以外点击鼠标左键或者右键,按键框会相应显示,执行时照此执行
  延迟框可输入上次按键后需要间隔的时间,单位是秒,如:1  或者  1.3   等,输入汉字会崩溃

2、开发构思

三个功能同时工作,互相影响,所以需要三个线程,分别是

1.主线程,ui界面需要ui.show,所以一直占用一个线程,如果其他动作时间过长,会无响应

使用qtdesigner.exe设置ui界面,然后调用,尽量多的在qtdesigner完成设置

2.监听线程,持续监听全局热键,以便控制方案的开启和关闭

使用QThread多线程, pyqtSignal线程间传输信号.

使用pyhooked import Hook, KeyboardEvent全局监听热键,本打算用PYHK,但是安装不了,听说pyhk也是有大佬打包好的,看来还有其他方法可以

3.自动化线程,收到接听到的信号之后,开始执行,自动化输入

使用pyautogui#实现自动化

3.代码部分

# -*- coding:utf-8 -*-import sys#读取数据文件用
import time#控制按键的延迟import pyautogui#实现自动化
from PyQt5.QtCore import Qt, QThread, pyqtSignal# QThread多线程, pyqtSignal线程间传输信号
from PyQt5.QtGui import QDoubleValidator#延迟框只能输入数字
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import sip#打包时显示WARNING: Hidden import "sip" not found!,加上也没啥用
from pyhooked import Hook, KeyboardEvent#全局监听热键,本打算用PYHK,但是安装不了from anjian_ui_main import Ui_MainWindow  # 调用qtdesigner.exe生成的主窗口,好省事# 子线程1_执行命令,自动化线程
class BackendThread(QThread):def __init__(self, e=0):super().__init__()self.e = e  # 传入的按键值,F6=0,使用方案Adef run(self):while 1:  # 默认一直循环# 执行A方案的文本框内容for index, step in enumerate(ui.dataALL[self.e]):if step:  # 若不为空if index % 2 != 1:  # 除2无余数,也是就是偶数,按键信息框if len(step) == 1:  # 只是1个按键,那就是按键,按压它pyautogui.press(step)elif step == "左键":#那就点击左键pyautogui.leftClick()elif step == "右键":#那就是右键pyautogui.rightClick()elif step == "tab":#那就按压tab键print(f"输入{step}")pyautogui.press("tab")elif step == "Enter":pyautogui.press("Enter")print(f"输入{step}")else:pyautogui.write(step)  # 否则就是输入文本print(f"输入{step}")else:  # 是时间框体time.sleep(float(step))#延迟数秒print(f"延迟{step}秒")#  若是执行一次,索引为1,退出循环if ui.comboBoxall[self.e].currentIndex() == 0:print("仅执行一次")breakprint("再循环一次")# 子线程2_hotkey
class hotkeynew(QThread):sinOut = pyqtSignal(int)  # 监听到热键后,传出的信号def run(self):def handle_events(args):if isinstance(args, KeyboardEvent):if args.current_key == "F5" and args.event_type == "key down":  # 如果F5按下了,传出0,也就是方案Aself.sinOut.emit(0)if args.current_key == "F6" and args.event_type == "key down":self.sinOut.emit(1)if args.current_key == "F7" and args.event_type == "key down":self.sinOut.emit(2)if args.current_key == "F8" and args.event_type == "key down":self.sinOut.emit(3)if args.current_key == "F9" and args.event_type == "key down":self.sinOut.emit(4)if args.current_key == "F10" and args.event_type == "key down":self.sinOut.emit(5)if args.current_key == "F12" and args.event_type == "key down":# 如果F12按下了,传出12,关闭线程self.sinOut.emit(12)hk = Hook()#实例化线程hk.handler = handle_eventshk.hook()#启动热键监控class MainWindow(QMainWindow, Ui_MainWindow):  # 多重继承QMainWindow和Ui_MainWindowdef __init__(self):super(MainWindow, self).__init__()  # 先调用父类QMainWindow的初始化方法self.setupUi(self)  # 再调用setupUi方法# 实例化热键线程self.treadhotkey = hotkeynew()self.treadhotkey.sinOut.connect(self.doit)  # 热键后发送信号给执行# 实例化执行线程self.treaddoit = BackendThread()self.dataALL = [[], [], [], [], [], []]  # 用来存储6种方案self.anjianlei = [self.anjianA, self.anjianB, self.anjianC, self.anjianD, self.anjianE, self.anjianF]self.deleylei = [self.deleyA, self.deleyB, self.deleyC, self.deleyD, self.deleyE, self.deleyF]self.comboBoxall = [self.comboBox1, self.comboBox2, self.comboBox3, self.comboBox4, self.comboBox5,self.comboBox6]self.saveaction.triggered.connect(self.savenow)  # 保存连接到savenowself.openaction.triggered.connect(self.opennow)  # 打开连接到opennowself.finishwriteaction.triggered.connect(self.finishwrite)  # 生成按键连接到finishwriteself.rewriteaction.triggered.connect(self.rewrite)  # 修改按键连接到rewrite#重新定义主页面的按键,去掉焦点,否则不能输入TAB。其实可以在qtdesigner.exe设置for u in range(6):  # 6种方案for i in range(8):  # 8个按键self.anjianlei[u].itemAt(i).widget().setFocusPolicy(Qt.ClickFocus)  # 单击成为焦点,为了tab能用self.deleylei[u].itemAt(i).widget().setFocusPolicy(Qt.ClickFocus)  # 单击成为焦点self.deleylei[u].itemAt(i).widget().setValidator(QDoubleValidator())  # 时间框体只能输入数字def savenow(self):  # 保存的动作self.dataALL = [[], [], [], [], [], []]  # 6种方案,之前的清理掉,重新保存现在的#现在的方案都保存进去for u in range(6):  # 6种方案for i in range(8):  # 8个按键self.dataALL[u].append(self.anjianlei[u].itemAt(i).widget().text())self.dataALL[u].append(self.deleylei[u].itemAt(i).widget().text())file = open("anjiandata.txt", "w")#打开txt。数据较少,为了方便,习惯用txt保存数据file.write(str(self.dataALL))#写入print("写入成功")file.close()#关闭def opennow(self):  # 打开之前保存的数据with open("anjiandata.txt", "r") as file:self.dataALL = eval(file.read())  # 之前保存的数据,file.read()是str格式,需要转化为list,用eval,字典转化用ast#把打开的输入输入到各个文本框for u in range(6):  # 6种方案for i in range(8):  # 8个按键self.anjianlei[u].itemAt(i).widget().setText(self.dataALL[u][i * 2])self.deleylei[u].itemAt(i).widget().setText(self.dataALL[u][i * 2 + 1])def finishwrite(self):  # 生成之后不可写if self.focusWidget():  # 保存以后有焦点就清除self.focusWidget().clearFocus()for u in range(6):  # 6种方案for i in range(8):  # 8个按键self.anjianlei[u].itemAt(i).widget().setReadOnly(1)  # 设置不可写self.deleylei[u].itemAt(i).widget().setReadOnly(1)# 设置不可写self.anjianlei[u].itemAt(i).widget().setFocusPolicy(Qt.NoFocus)  # 不能设为焦点self.deleylei[u].itemAt(i).widget().setFocusPolicy(Qt.NoFocus)  # 不能设为焦点self.dataALL[u].append(self.anjianlei[u].itemAt(i).widget().text())  # 储存下文本self.dataALL[u].append(self.deleylei[u].itemAt(i).widget().text())  # 储存下文本print("生成之后开启监控热键线程")self.treadhotkey.start()#生成之后开启监控热键线程def rewrite(self):  # 重写之后可以写for u in range(6):  # 6种方案for i in range(8):  # 8个按键self.anjianlei[u].itemAt(i).widget().setReadOnly(0)#设置可以写self.deleylei[u].itemAt(i).widget().setReadOnly(0)#设置可以写self.anjianlei[u].itemAt(i).widget().setFocusPolicy(Qt.ClickFocus)  # 设只能单击为焦点self.deleylei[u].itemAt(i).widget().setFocusPolicy(Qt.ClickFocus)  # 设只能单击为焦点# 重写之后关闭监控热键线程self.treadhotkey.terminate()# 如过还有执行线程,关闭他if self.treaddoit.isRunning():self.treaddoit.terminate()print("关闭线程")# 重写鼠标事件def mousePressEvent(self, event):if event.button() == Qt.LeftButton and self.focusWidget():  # 如果左键并且有焦点self.focusWidget().setText("左键")#这个框体的文本设为左键if event.button() == Qt.RightButton and self.focusWidget():self.focusWidget().setText("右键")# 执行热键的方案,重写事件def keyPressEvent(self, event):if event.key() == Qt.Key_Tab and self.focusWidget():#如果按了tab并且有焦点self.focusWidget().setText("tab")#这个框体的文本设为tabif event.key() == 16777220 and self.focusWidget():  #如果按了回车并且有焦点self.focusWidget().setText("Enter")def doit(self, e):  # e是按键的表示,F6用6表示if e == 12:  # 按了F12if self.treaddoit.isRunning():#若有线程就关闭他self.treaddoit.terminate()print("关闭线程")else:passelse:# 实例化线程self.treaddoit = BackendThread(e)self.treaddoit.start()print(f"启动线程{e}")if __name__ == '__main__':app = QApplication(sys.argv)ui = MainWindow()ui.show()sys.exit(app.exec_())

附赠qtdesigner.exe生成的代码,诸君可以拿去打包,这个不需要看,打包用

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'anjian_ui_main.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(1298, 791)MainWindow.setLocale(QtCore.QLocale(QtCore.QLocale.Chinese, QtCore.QLocale.China))self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)self.gridLayout.setObjectName("gridLayout")self.verticalLayoutA = QtWidgets.QVBoxLayout()self.verticalLayoutA.setObjectName("verticalLayoutA")self.label_15 = QtWidgets.QLabel(self.centralwidget)self.label_15.setObjectName("label_15")self.verticalLayoutA.addWidget(self.label_15)self.horizontalLayout = QtWidgets.QHBoxLayout()self.horizontalLayout.setObjectName("horizontalLayout")self.verticalLayout_19 = QtWidgets.QVBoxLayout()self.verticalLayout_19.setObjectName("verticalLayout_19")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setObjectName("label")self.verticalLayout_19.addWidget(self.label)self.label_3 = QtWidgets.QLabel(self.centralwidget)self.label_3.setObjectName("label_3")self.verticalLayout_19.addWidget(self.label_3)self.label_5 = QtWidgets.QLabel(self.centralwidget)self.label_5.setObjectName("label_5")self.verticalLayout_19.addWidget(self.label_5)self.label_7 = QtWidgets.QLabel(self.centralwidget)self.label_7.setObjectName("label_7")self.verticalLayout_19.addWidget(self.label_7)self.label_9 = QtWidgets.QLabel(self.centralwidget)self.label_9.setObjectName("label_9")self.verticalLayout_19.addWidget(self.label_9)self.label_18 = QtWidgets.QLabel(self.centralwidget)self.label_18.setObjectName("label_18")self.verticalLayout_19.addWidget(self.label_18)self.label_17 = QtWidgets.QLabel(self.centralwidget)self.label_17.setObjectName("label_17")self.verticalLayout_19.addWidget(self.label_17)self.label_21 = QtWidgets.QLabel(self.centralwidget)self.label_21.setObjectName("label_21")self.verticalLayout_19.addWidget(self.label_21)self.horizontalLayout.addLayout(self.verticalLayout_19)self.anjianA = QtWidgets.QVBoxLayout()self.anjianA.setObjectName("anjianA")self.anjianA1 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1.setText("")self.anjianA1.setObjectName("anjianA1")self.anjianA.addWidget(self.anjianA1)self.anjianA2 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2.setObjectName("anjianA2")self.anjianA.addWidget(self.anjianA2)self.anjianA3 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3.setObjectName("anjianA3")self.anjianA.addWidget(self.anjianA3)self.anjianA4 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4.setObjectName("anjianA4")self.anjianA.addWidget(self.anjianA4)self.anjianA5 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5.setObjectName("anjianA5")self.anjianA.addWidget(self.anjianA5)self.anjianA6 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6.setObjectName("anjianA6")self.anjianA.addWidget(self.anjianA6)self.anjianA7 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7.setObjectName("anjianA7")self.anjianA.addWidget(self.anjianA7)self.anjianA8 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8.setObjectName("anjianA8")self.anjianA.addWidget(self.anjianA8)self.horizontalLayout.addLayout(self.anjianA)self.verticalLayout_15 = QtWidgets.QVBoxLayout()self.verticalLayout_15.setObjectName("verticalLayout_15")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setObjectName("label_2")self.verticalLayout_15.addWidget(self.label_2)self.label_4 = QtWidgets.QLabel(self.centralwidget)self.label_4.setObjectName("label_4")self.verticalLayout_15.addWidget(self.label_4)self.label_6 = QtWidgets.QLabel(self.centralwidget)self.label_6.setObjectName("label_6")self.verticalLayout_15.addWidget(self.label_6)self.label_8 = QtWidgets.QLabel(self.centralwidget)self.label_8.setObjectName("label_8")self.verticalLayout_15.addWidget(self.label_8)self.label_10 = QtWidgets.QLabel(self.centralwidget)self.label_10.setObjectName("label_10")self.verticalLayout_15.addWidget(self.label_10)self.label_19 = QtWidgets.QLabel(self.centralwidget)self.label_19.setObjectName("label_19")self.verticalLayout_15.addWidget(self.label_19)self.label_16 = QtWidgets.QLabel(self.centralwidget)self.label_16.setObjectName("label_16")self.verticalLayout_15.addWidget(self.label_16)self.label_20 = QtWidgets.QLabel(self.centralwidget)self.label_20.setObjectName("label_20")self.verticalLayout_15.addWidget(self.label_20)self.horizontalLayout.addLayout(self.verticalLayout_15)self.deleyA = QtWidgets.QVBoxLayout()self.deleyA.setObjectName("deleyA")self.deleyA1 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1.setObjectName("deleyA1")self.deleyA.addWidget(self.deleyA1)self.deleyA2 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2.setObjectName("deleyA2")self.deleyA.addWidget(self.deleyA2)self.deleyA3 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3.setObjectName("deleyA3")self.deleyA.addWidget(self.deleyA3)self.deleyA4 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4.setObjectName("deleyA4")self.deleyA.addWidget(self.deleyA4)self.deleyA5 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5.setObjectName("deleyA5")self.deleyA.addWidget(self.deleyA5)self.deleyA6 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6.setObjectName("deleyA6")self.deleyA.addWidget(self.deleyA6)self.deleyA7 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7.setObjectName("deleyA7")self.deleyA.addWidget(self.deleyA7)self.deleyA8 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8.setObjectName("deleyA8")self.deleyA.addWidget(self.deleyA8)self.horizontalLayout.addLayout(self.deleyA)self.verticalLayoutA.addLayout(self.horizontalLayout)self.horizontalLayout_29 = QtWidgets.QHBoxLayout()self.horizontalLayout_29.setObjectName("horizontalLayout_29")self.label_11 = QtWidgets.QLabel(self.centralwidget)self.label_11.setObjectName("label_11")self.horizontalLayout_29.addWidget(self.label_11)self.comboBox1 = QtWidgets.QComboBox(self.centralwidget)self.comboBox1.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox1.setObjectName("comboBox1")self.comboBox1.addItem("")self.comboBox1.addItem("")self.horizontalLayout_29.addWidget(self.comboBox1)self.verticalLayoutA.addLayout(self.horizontalLayout_29)self.gridLayout.addLayout(self.verticalLayoutA, 0, 0, 1, 1)self.line_2 = QtWidgets.QFrame(self.centralwidget)self.line_2.setFrameShadow(QtWidgets.QFrame.Plain)self.line_2.setLineWidth(5)self.line_2.setFrameShape(QtWidgets.QFrame.VLine)self.line_2.setObjectName("line_2")self.gridLayout.addWidget(self.line_2, 0, 1, 1, 1)self.verticalLayoutB = QtWidgets.QVBoxLayout()self.verticalLayoutB.setObjectName("verticalLayoutB")self.label_361 = QtWidgets.QLabel(self.centralwidget)self.label_361.setObjectName("label_361")self.verticalLayoutB.addWidget(self.label_361)self.horizontalLayout_48 = QtWidgets.QHBoxLayout()self.horizontalLayout_48.setObjectName("horizontalLayout_48")self.verticalLayout_47 = QtWidgets.QVBoxLayout()self.verticalLayout_47.setObjectName("verticalLayout_47")self.label_362 = QtWidgets.QLabel(self.centralwidget)self.label_362.setObjectName("label_362")self.verticalLayout_47.addWidget(self.label_362)self.label_363 = QtWidgets.QLabel(self.centralwidget)self.label_363.setObjectName("label_363")self.verticalLayout_47.addWidget(self.label_363)self.label_364 = QtWidgets.QLabel(self.centralwidget)self.label_364.setObjectName("label_364")self.verticalLayout_47.addWidget(self.label_364)self.label_365 = QtWidgets.QLabel(self.centralwidget)self.label_365.setObjectName("label_365")self.verticalLayout_47.addWidget(self.label_365)self.label_366 = QtWidgets.QLabel(self.centralwidget)self.label_366.setObjectName("label_366")self.verticalLayout_47.addWidget(self.label_366)self.label_367 = QtWidgets.QLabel(self.centralwidget)self.label_367.setObjectName("label_367")self.verticalLayout_47.addWidget(self.label_367)self.label_368 = QtWidgets.QLabel(self.centralwidget)self.label_368.setObjectName("label_368")self.verticalLayout_47.addWidget(self.label_368)self.label_369 = QtWidgets.QLabel(self.centralwidget)self.label_369.setObjectName("label_369")self.verticalLayout_47.addWidget(self.label_369)self.horizontalLayout_48.addLayout(self.verticalLayout_47)self.anjianB = QtWidgets.QVBoxLayout()self.anjianB.setObjectName("anjianB")self.anjianA1_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1_21.setObjectName("anjianA1_21")self.anjianB.addWidget(self.anjianA1_21)self.anjianA2_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2_21.setObjectName("anjianA2_21")self.anjianB.addWidget(self.anjianA2_21)self.anjianA3_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3_21.setObjectName("anjianA3_21")self.anjianB.addWidget(self.anjianA3_21)self.anjianA4_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4_21.setObjectName("anjianA4_21")self.anjianB.addWidget(self.anjianA4_21)self.anjianA5_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5_21.setObjectName("anjianA5_21")self.anjianB.addWidget(self.anjianA5_21)self.anjianA6_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6_21.setObjectName("anjianA6_21")self.anjianB.addWidget(self.anjianA6_21)self.anjianA7_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7_21.setObjectName("anjianA7_21")self.anjianB.addWidget(self.anjianA7_21)self.anjianA8_21 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8_21.setObjectName("anjianA8_21")self.anjianB.addWidget(self.anjianA8_21)self.horizontalLayout_48.addLayout(self.anjianB)self.verticalLayout_49 = QtWidgets.QVBoxLayout()self.verticalLayout_49.setObjectName("verticalLayout_49")self.label_370 = QtWidgets.QLabel(self.centralwidget)self.label_370.setObjectName("label_370")self.verticalLayout_49.addWidget(self.label_370)self.label_371 = QtWidgets.QLabel(self.centralwidget)self.label_371.setObjectName("label_371")self.verticalLayout_49.addWidget(self.label_371)self.label_372 = QtWidgets.QLabel(self.centralwidget)self.label_372.setObjectName("label_372")self.verticalLayout_49.addWidget(self.label_372)self.label_373 = QtWidgets.QLabel(self.centralwidget)self.label_373.setObjectName("label_373")self.verticalLayout_49.addWidget(self.label_373)self.label_374 = QtWidgets.QLabel(self.centralwidget)self.label_374.setObjectName("label_374")self.verticalLayout_49.addWidget(self.label_374)self.label_375 = QtWidgets.QLabel(self.centralwidget)self.label_375.setObjectName("label_375")self.verticalLayout_49.addWidget(self.label_375)self.label_376 = QtWidgets.QLabel(self.centralwidget)self.label_376.setObjectName("label_376")self.verticalLayout_49.addWidget(self.label_376)self.label_377 = QtWidgets.QLabel(self.centralwidget)self.label_377.setObjectName("label_377")self.verticalLayout_49.addWidget(self.label_377)self.horizontalLayout_48.addLayout(self.verticalLayout_49)self.deleyB = QtWidgets.QVBoxLayout()self.deleyB.setObjectName("deleyB")self.deleyA1_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1_21.setObjectName("deleyA1_21")self.deleyB.addWidget(self.deleyA1_21)self.deleyA2_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2_21.setObjectName("deleyA2_21")self.deleyB.addWidget(self.deleyA2_21)self.deleyA3_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3_21.setObjectName("deleyA3_21")self.deleyB.addWidget(self.deleyA3_21)self.deleyA4_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4_21.setObjectName("deleyA4_21")self.deleyB.addWidget(self.deleyA4_21)self.deleyA5_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5_21.setObjectName("deleyA5_21")self.deleyB.addWidget(self.deleyA5_21)self.deleyA6_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6_21.setObjectName("deleyA6_21")self.deleyB.addWidget(self.deleyA6_21)self.deleyA7_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7_21.setObjectName("deleyA7_21")self.deleyB.addWidget(self.deleyA7_21)self.deleyA8_21 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8_21.setObjectName("deleyA8_21")self.deleyB.addWidget(self.deleyA8_21)self.horizontalLayout_48.addLayout(self.deleyB)self.verticalLayoutB.addLayout(self.horizontalLayout_48)self.horizontalLayout_49 = QtWidgets.QHBoxLayout()self.horizontalLayout_49.setObjectName("horizontalLayout_49")self.label_378 = QtWidgets.QLabel(self.centralwidget)self.label_378.setObjectName("label_378")self.horizontalLayout_49.addWidget(self.label_378)self.comboBox2 = QtWidgets.QComboBox(self.centralwidget)self.comboBox2.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox2.setObjectName("comboBox2")self.comboBox2.addItem("")self.comboBox2.addItem("")self.horizontalLayout_49.addWidget(self.comboBox2)self.verticalLayoutB.addLayout(self.horizontalLayout_49)self.gridLayout.addLayout(self.verticalLayoutB, 0, 2, 1, 2)self.line_3 = QtWidgets.QFrame(self.centralwidget)self.line_3.setFrameShadow(QtWidgets.QFrame.Plain)self.line_3.setLineWidth(5)self.line_3.setFrameShape(QtWidgets.QFrame.VLine)self.line_3.setObjectName("line_3")self.gridLayout.addWidget(self.line_3, 0, 4, 1, 1)self.verticalLayoutC = QtWidgets.QVBoxLayout()self.verticalLayoutC.setObjectName("verticalLayoutC")self.label_379 = QtWidgets.QLabel(self.centralwidget)self.label_379.setObjectName("label_379")self.verticalLayoutC.addWidget(self.label_379)self.horizontalLayout_51 = QtWidgets.QHBoxLayout()self.horizontalLayout_51.setObjectName("horizontalLayout_51")self.verticalLayout_52 = QtWidgets.QVBoxLayout()self.verticalLayout_52.setObjectName("verticalLayout_52")self.label_380 = QtWidgets.QLabel(self.centralwidget)self.label_380.setObjectName("label_380")self.verticalLayout_52.addWidget(self.label_380)self.label_381 = QtWidgets.QLabel(self.centralwidget)self.label_381.setObjectName("label_381")self.verticalLayout_52.addWidget(self.label_381)self.label_382 = QtWidgets.QLabel(self.centralwidget)self.label_382.setObjectName("label_382")self.verticalLayout_52.addWidget(self.label_382)self.label_383 = QtWidgets.QLabel(self.centralwidget)self.label_383.setObjectName("label_383")self.verticalLayout_52.addWidget(self.label_383)self.label_384 = QtWidgets.QLabel(self.centralwidget)self.label_384.setObjectName("label_384")self.verticalLayout_52.addWidget(self.label_384)self.label_385 = QtWidgets.QLabel(self.centralwidget)self.label_385.setObjectName("label_385")self.verticalLayout_52.addWidget(self.label_385)self.label_386 = QtWidgets.QLabel(self.centralwidget)self.label_386.setObjectName("label_386")self.verticalLayout_52.addWidget(self.label_386)self.label_387 = QtWidgets.QLabel(self.centralwidget)self.label_387.setObjectName("label_387")self.verticalLayout_52.addWidget(self.label_387)self.horizontalLayout_51.addLayout(self.verticalLayout_52)self.anjianC = QtWidgets.QVBoxLayout()self.anjianC.setObjectName("anjianC")self.anjianA1_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1_22.setObjectName("anjianA1_22")self.anjianC.addWidget(self.anjianA1_22)self.anjianA2_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2_22.setObjectName("anjianA2_22")self.anjianC.addWidget(self.anjianA2_22)self.anjianA3_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3_22.setObjectName("anjianA3_22")self.anjianC.addWidget(self.anjianA3_22)self.anjianA4_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4_22.setObjectName("anjianA4_22")self.anjianC.addWidget(self.anjianA4_22)self.anjianA5_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5_22.setObjectName("anjianA5_22")self.anjianC.addWidget(self.anjianA5_22)self.anjianA6_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6_22.setObjectName("anjianA6_22")self.anjianC.addWidget(self.anjianA6_22)self.anjianA7_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7_22.setObjectName("anjianA7_22")self.anjianC.addWidget(self.anjianA7_22)self.anjianA8_22 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8_22.setObjectName("anjianA8_22")self.anjianC.addWidget(self.anjianA8_22)self.horizontalLayout_51.addLayout(self.anjianC)self.verticalLayout_54 = QtWidgets.QVBoxLayout()self.verticalLayout_54.setObjectName("verticalLayout_54")self.label_388 = QtWidgets.QLabel(self.centralwidget)self.label_388.setObjectName("label_388")self.verticalLayout_54.addWidget(self.label_388)self.label_389 = QtWidgets.QLabel(self.centralwidget)self.label_389.setObjectName("label_389")self.verticalLayout_54.addWidget(self.label_389)self.label_390 = QtWidgets.QLabel(self.centralwidget)self.label_390.setObjectName("label_390")self.verticalLayout_54.addWidget(self.label_390)self.label_391 = QtWidgets.QLabel(self.centralwidget)self.label_391.setObjectName("label_391")self.verticalLayout_54.addWidget(self.label_391)self.label_392 = QtWidgets.QLabel(self.centralwidget)self.label_392.setObjectName("label_392")self.verticalLayout_54.addWidget(self.label_392)self.label_393 = QtWidgets.QLabel(self.centralwidget)self.label_393.setObjectName("label_393")self.verticalLayout_54.addWidget(self.label_393)self.label_394 = QtWidgets.QLabel(self.centralwidget)self.label_394.setObjectName("label_394")self.verticalLayout_54.addWidget(self.label_394)self.label_395 = QtWidgets.QLabel(self.centralwidget)self.label_395.setObjectName("label_395")self.verticalLayout_54.addWidget(self.label_395)self.horizontalLayout_51.addLayout(self.verticalLayout_54)self.deleyC = QtWidgets.QVBoxLayout()self.deleyC.setObjectName("deleyC")self.deleyA1_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1_22.setObjectName("deleyA1_22")self.deleyC.addWidget(self.deleyA1_22)self.deleyA2_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2_22.setObjectName("deleyA2_22")self.deleyC.addWidget(self.deleyA2_22)self.deleyA3_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3_22.setObjectName("deleyA3_22")self.deleyC.addWidget(self.deleyA3_22)self.deleyA4_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4_22.setObjectName("deleyA4_22")self.deleyC.addWidget(self.deleyA4_22)self.deleyA5_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5_22.setObjectName("deleyA5_22")self.deleyC.addWidget(self.deleyA5_22)self.deleyA6_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6_22.setObjectName("deleyA6_22")self.deleyC.addWidget(self.deleyA6_22)self.deleyA7_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7_22.setObjectName("deleyA7_22")self.deleyC.addWidget(self.deleyA7_22)self.deleyA8_22 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8_22.setObjectName("deleyA8_22")self.deleyC.addWidget(self.deleyA8_22)self.horizontalLayout_51.addLayout(self.deleyC)self.verticalLayoutC.addLayout(self.horizontalLayout_51)self.horizontalLayout_52 = QtWidgets.QHBoxLayout()self.horizontalLayout_52.setObjectName("horizontalLayout_52")self.label_396 = QtWidgets.QLabel(self.centralwidget)self.label_396.setObjectName("label_396")self.horizontalLayout_52.addWidget(self.label_396)self.comboBox3 = QtWidgets.QComboBox(self.centralwidget)self.comboBox3.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox3.setObjectName("comboBox3")self.comboBox3.addItem("")self.comboBox3.addItem("")self.horizontalLayout_52.addWidget(self.comboBox3)self.verticalLayoutC.addLayout(self.horizontalLayout_52)self.gridLayout.addLayout(self.verticalLayoutC, 0, 5, 1, 2)self.line = QtWidgets.QFrame(self.centralwidget)self.line.setFrameShadow(QtWidgets.QFrame.Plain)self.line.setLineWidth(10)self.line.setFrameShape(QtWidgets.QFrame.HLine)self.line.setObjectName("line")self.gridLayout.addWidget(self.line, 1, 0, 1, 7)self.verticalLayoutD = QtWidgets.QVBoxLayout()self.verticalLayoutD.setObjectName("verticalLayoutD")self.label_451 = QtWidgets.QLabel(self.centralwidget)self.label_451.setObjectName("label_451")self.verticalLayoutD.addWidget(self.label_451)self.horizontalLayout_66 = QtWidgets.QHBoxLayout()self.horizontalLayout_66.setObjectName("horizontalLayout_66")self.verticalLayout_72 = QtWidgets.QVBoxLayout()self.verticalLayout_72.setObjectName("verticalLayout_72")self.label_452 = QtWidgets.QLabel(self.centralwidget)self.label_452.setObjectName("label_452")self.verticalLayout_72.addWidget(self.label_452)self.label_453 = QtWidgets.QLabel(self.centralwidget)self.label_453.setObjectName("label_453")self.verticalLayout_72.addWidget(self.label_453)self.label_454 = QtWidgets.QLabel(self.centralwidget)self.label_454.setObjectName("label_454")self.verticalLayout_72.addWidget(self.label_454)self.label_455 = QtWidgets.QLabel(self.centralwidget)self.label_455.setObjectName("label_455")self.verticalLayout_72.addWidget(self.label_455)self.label_456 = QtWidgets.QLabel(self.centralwidget)self.label_456.setObjectName("label_456")self.verticalLayout_72.addWidget(self.label_456)self.label_457 = QtWidgets.QLabel(self.centralwidget)self.label_457.setObjectName("label_457")self.verticalLayout_72.addWidget(self.label_457)self.label_458 = QtWidgets.QLabel(self.centralwidget)self.label_458.setObjectName("label_458")self.verticalLayout_72.addWidget(self.label_458)self.label_459 = QtWidgets.QLabel(self.centralwidget)self.label_459.setObjectName("label_459")self.verticalLayout_72.addWidget(self.label_459)self.horizontalLayout_66.addLayout(self.verticalLayout_72)self.anjianD = QtWidgets.QVBoxLayout()self.anjianD.setObjectName("anjianD")self.anjianA1_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1_26.setObjectName("anjianA1_26")self.anjianD.addWidget(self.anjianA1_26)self.anjianA2_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2_26.setObjectName("anjianA2_26")self.anjianD.addWidget(self.anjianA2_26)self.anjianA3_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3_26.setObjectName("anjianA3_26")self.anjianD.addWidget(self.anjianA3_26)self.anjianA4_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4_26.setObjectName("anjianA4_26")self.anjianD.addWidget(self.anjianA4_26)self.anjianA5_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5_26.setObjectName("anjianA5_26")self.anjianD.addWidget(self.anjianA5_26)self.anjianA6_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6_26.setObjectName("anjianA6_26")self.anjianD.addWidget(self.anjianA6_26)self.anjianA7_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7_26.setObjectName("anjianA7_26")self.anjianD.addWidget(self.anjianA7_26)self.anjianA8_26 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8_26.setObjectName("anjianA8_26")self.anjianD.addWidget(self.anjianA8_26)self.horizontalLayout_66.addLayout(self.anjianD)self.verticalLayout_74 = QtWidgets.QVBoxLayout()self.verticalLayout_74.setObjectName("verticalLayout_74")self.label_460 = QtWidgets.QLabel(self.centralwidget)self.label_460.setObjectName("label_460")self.verticalLayout_74.addWidget(self.label_460)self.label_461 = QtWidgets.QLabel(self.centralwidget)self.label_461.setObjectName("label_461")self.verticalLayout_74.addWidget(self.label_461)self.label_462 = QtWidgets.QLabel(self.centralwidget)self.label_462.setObjectName("label_462")self.verticalLayout_74.addWidget(self.label_462)self.label_463 = QtWidgets.QLabel(self.centralwidget)self.label_463.setObjectName("label_463")self.verticalLayout_74.addWidget(self.label_463)self.label_464 = QtWidgets.QLabel(self.centralwidget)self.label_464.setObjectName("label_464")self.verticalLayout_74.addWidget(self.label_464)self.label_465 = QtWidgets.QLabel(self.centralwidget)self.label_465.setObjectName("label_465")self.verticalLayout_74.addWidget(self.label_465)self.label_466 = QtWidgets.QLabel(self.centralwidget)self.label_466.setObjectName("label_466")self.verticalLayout_74.addWidget(self.label_466)self.label_467 = QtWidgets.QLabel(self.centralwidget)self.label_467.setObjectName("label_467")self.verticalLayout_74.addWidget(self.label_467)self.horizontalLayout_66.addLayout(self.verticalLayout_74)self.deleyD = QtWidgets.QVBoxLayout()self.deleyD.setObjectName("deleyD")self.deleyA1_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1_26.setObjectName("deleyA1_26")self.deleyD.addWidget(self.deleyA1_26)self.deleyA2_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2_26.setObjectName("deleyA2_26")self.deleyD.addWidget(self.deleyA2_26)self.deleyA3_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3_26.setObjectName("deleyA3_26")self.deleyD.addWidget(self.deleyA3_26)self.deleyA4_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4_26.setObjectName("deleyA4_26")self.deleyD.addWidget(self.deleyA4_26)self.deleyA5_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5_26.setObjectName("deleyA5_26")self.deleyD.addWidget(self.deleyA5_26)self.deleyA6_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6_26.setObjectName("deleyA6_26")self.deleyD.addWidget(self.deleyA6_26)self.deleyA7_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7_26.setObjectName("deleyA7_26")self.deleyD.addWidget(self.deleyA7_26)self.deleyA8_26 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8_26.setObjectName("deleyA8_26")self.deleyD.addWidget(self.deleyA8_26)self.horizontalLayout_66.addLayout(self.deleyD)self.verticalLayoutD.addLayout(self.horizontalLayout_66)self.horizontalLayout_67 = QtWidgets.QHBoxLayout()self.horizontalLayout_67.setObjectName("horizontalLayout_67")self.label_468 = QtWidgets.QLabel(self.centralwidget)self.label_468.setObjectName("label_468")self.horizontalLayout_67.addWidget(self.label_468)self.comboBox4 = QtWidgets.QComboBox(self.centralwidget)self.comboBox4.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox4.setObjectName("comboBox4")self.comboBox4.addItem("")self.comboBox4.addItem("")self.horizontalLayout_67.addWidget(self.comboBox4)self.verticalLayoutD.addLayout(self.horizontalLayout_67)self.gridLayout.addLayout(self.verticalLayoutD, 2, 0, 1, 1)self.line_6 = QtWidgets.QFrame(self.centralwidget)self.line_6.setFrameShadow(QtWidgets.QFrame.Plain)self.line_6.setLineWidth(5)self.line_6.setFrameShape(QtWidgets.QFrame.VLine)self.line_6.setObjectName("line_6")self.gridLayout.addWidget(self.line_6, 2, 1, 1, 2)self.verticalLayoutE = QtWidgets.QVBoxLayout()self.verticalLayoutE.setObjectName("verticalLayoutE")self.label_469 = QtWidgets.QLabel(self.centralwidget)self.label_469.setObjectName("label_469")self.verticalLayoutE.addWidget(self.label_469)self.horizontalLayout_69 = QtWidgets.QHBoxLayout()self.horizontalLayout_69.setObjectName("horizontalLayout_69")self.verticalLayout_77 = QtWidgets.QVBoxLayout()self.verticalLayout_77.setObjectName("verticalLayout_77")self.label_470 = QtWidgets.QLabel(self.centralwidget)self.label_470.setObjectName("label_470")self.verticalLayout_77.addWidget(self.label_470)self.label_471 = QtWidgets.QLabel(self.centralwidget)self.label_471.setObjectName("label_471")self.verticalLayout_77.addWidget(self.label_471)self.label_472 = QtWidgets.QLabel(self.centralwidget)self.label_472.setObjectName("label_472")self.verticalLayout_77.addWidget(self.label_472)self.label_473 = QtWidgets.QLabel(self.centralwidget)self.label_473.setObjectName("label_473")self.verticalLayout_77.addWidget(self.label_473)self.label_474 = QtWidgets.QLabel(self.centralwidget)self.label_474.setObjectName("label_474")self.verticalLayout_77.addWidget(self.label_474)self.label_475 = QtWidgets.QLabel(self.centralwidget)self.label_475.setObjectName("label_475")self.verticalLayout_77.addWidget(self.label_475)self.label_476 = QtWidgets.QLabel(self.centralwidget)self.label_476.setObjectName("label_476")self.verticalLayout_77.addWidget(self.label_476)self.label_477 = QtWidgets.QLabel(self.centralwidget)self.label_477.setObjectName("label_477")self.verticalLayout_77.addWidget(self.label_477)self.horizontalLayout_69.addLayout(self.verticalLayout_77)self.anjianE = QtWidgets.QVBoxLayout()self.anjianE.setObjectName("anjianE")self.anjianA1_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1_27.setObjectName("anjianA1_27")self.anjianE.addWidget(self.anjianA1_27)self.anjianA2_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2_27.setObjectName("anjianA2_27")self.anjianE.addWidget(self.anjianA2_27)self.anjianA3_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3_27.setObjectName("anjianA3_27")self.anjianE.addWidget(self.anjianA3_27)self.anjianA4_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4_27.setObjectName("anjianA4_27")self.anjianE.addWidget(self.anjianA4_27)self.anjianA5_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5_27.setObjectName("anjianA5_27")self.anjianE.addWidget(self.anjianA5_27)self.anjianA6_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6_27.setObjectName("anjianA6_27")self.anjianE.addWidget(self.anjianA6_27)self.anjianA7_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7_27.setObjectName("anjianA7_27")self.anjianE.addWidget(self.anjianA7_27)self.anjianA8_27 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8_27.setObjectName("anjianA8_27")self.anjianE.addWidget(self.anjianA8_27)self.horizontalLayout_69.addLayout(self.anjianE)self.verticalLayout_79 = QtWidgets.QVBoxLayout()self.verticalLayout_79.setObjectName("verticalLayout_79")self.label_478 = QtWidgets.QLabel(self.centralwidget)self.label_478.setObjectName("label_478")self.verticalLayout_79.addWidget(self.label_478)self.label_479 = QtWidgets.QLabel(self.centralwidget)self.label_479.setObjectName("label_479")self.verticalLayout_79.addWidget(self.label_479)self.label_480 = QtWidgets.QLabel(self.centralwidget)self.label_480.setObjectName("label_480")self.verticalLayout_79.addWidget(self.label_480)self.label_481 = QtWidgets.QLabel(self.centralwidget)self.label_481.setObjectName("label_481")self.verticalLayout_79.addWidget(self.label_481)self.label_482 = QtWidgets.QLabel(self.centralwidget)self.label_482.setObjectName("label_482")self.verticalLayout_79.addWidget(self.label_482)self.label_483 = QtWidgets.QLabel(self.centralwidget)self.label_483.setObjectName("label_483")self.verticalLayout_79.addWidget(self.label_483)self.label_484 = QtWidgets.QLabel(self.centralwidget)self.label_484.setObjectName("label_484")self.verticalLayout_79.addWidget(self.label_484)self.label_485 = QtWidgets.QLabel(self.centralwidget)self.label_485.setObjectName("label_485")self.verticalLayout_79.addWidget(self.label_485)self.horizontalLayout_69.addLayout(self.verticalLayout_79)self.deleyE = QtWidgets.QVBoxLayout()self.deleyE.setObjectName("deleyE")self.deleyA1_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1_27.setObjectName("deleyA1_27")self.deleyE.addWidget(self.deleyA1_27)self.deleyA2_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2_27.setObjectName("deleyA2_27")self.deleyE.addWidget(self.deleyA2_27)self.deleyA3_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3_27.setObjectName("deleyA3_27")self.deleyE.addWidget(self.deleyA3_27)self.deleyA4_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4_27.setObjectName("deleyA4_27")self.deleyE.addWidget(self.deleyA4_27)self.deleyA5_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5_27.setObjectName("deleyA5_27")self.deleyE.addWidget(self.deleyA5_27)self.deleyA6_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6_27.setObjectName("deleyA6_27")self.deleyE.addWidget(self.deleyA6_27)self.deleyA7_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7_27.setObjectName("deleyA7_27")self.deleyE.addWidget(self.deleyA7_27)self.deleyA8_27 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8_27.setObjectName("deleyA8_27")self.deleyE.addWidget(self.deleyA8_27)self.horizontalLayout_69.addLayout(self.deleyE)self.verticalLayoutE.addLayout(self.horizontalLayout_69)self.horizontalLayout_70 = QtWidgets.QHBoxLayout()self.horizontalLayout_70.setObjectName("horizontalLayout_70")self.label_486 = QtWidgets.QLabel(self.centralwidget)self.label_486.setObjectName("label_486")self.horizontalLayout_70.addWidget(self.label_486)self.comboBox5 = QtWidgets.QComboBox(self.centralwidget)self.comboBox5.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox5.setObjectName("comboBox5")self.comboBox5.addItem("")self.comboBox5.addItem("")self.horizontalLayout_70.addWidget(self.comboBox5)self.verticalLayoutE.addLayout(self.horizontalLayout_70)self.gridLayout.addLayout(self.verticalLayoutE, 2, 3, 1, 1)self.line_7 = QtWidgets.QFrame(self.centralwidget)self.line_7.setFrameShadow(QtWidgets.QFrame.Plain)self.line_7.setLineWidth(5)self.line_7.setFrameShape(QtWidgets.QFrame.VLine)self.line_7.setObjectName("line_7")self.gridLayout.addWidget(self.line_7, 2, 4, 1, 2)self.verticalLayoutF = QtWidgets.QVBoxLayout()self.verticalLayoutF.setObjectName("verticalLayoutF")self.label_487 = QtWidgets.QLabel(self.centralwidget)self.label_487.setObjectName("label_487")self.verticalLayoutF.addWidget(self.label_487)self.horizontalLayout_72 = QtWidgets.QHBoxLayout()self.horizontalLayout_72.setObjectName("horizontalLayout_72")self.verticalLayout_82 = QtWidgets.QVBoxLayout()self.verticalLayout_82.setObjectName("verticalLayout_82")self.label_488 = QtWidgets.QLabel(self.centralwidget)self.label_488.setObjectName("label_488")self.verticalLayout_82.addWidget(self.label_488)self.label_489 = QtWidgets.QLabel(self.centralwidget)self.label_489.setObjectName("label_489")self.verticalLayout_82.addWidget(self.label_489)self.label_490 = QtWidgets.QLabel(self.centralwidget)self.label_490.setObjectName("label_490")self.verticalLayout_82.addWidget(self.label_490)self.label_491 = QtWidgets.QLabel(self.centralwidget)self.label_491.setObjectName("label_491")self.verticalLayout_82.addWidget(self.label_491)self.label_492 = QtWidgets.QLabel(self.centralwidget)self.label_492.setObjectName("label_492")self.verticalLayout_82.addWidget(self.label_492)self.label_493 = QtWidgets.QLabel(self.centralwidget)self.label_493.setObjectName("label_493")self.verticalLayout_82.addWidget(self.label_493)self.label_494 = QtWidgets.QLabel(self.centralwidget)self.label_494.setObjectName("label_494")self.verticalLayout_82.addWidget(self.label_494)self.label_495 = QtWidgets.QLabel(self.centralwidget)self.label_495.setObjectName("label_495")self.verticalLayout_82.addWidget(self.label_495)self.horizontalLayout_72.addLayout(self.verticalLayout_82)self.anjianF = QtWidgets.QVBoxLayout()self.anjianF.setObjectName("anjianF")self.anjianA1_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA1_28.setObjectName("anjianA1_28")self.anjianF.addWidget(self.anjianA1_28)self.anjianA2_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA2_28.setObjectName("anjianA2_28")self.anjianF.addWidget(self.anjianA2_28)self.anjianA3_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA3_28.setObjectName("anjianA3_28")self.anjianF.addWidget(self.anjianA3_28)self.anjianA4_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA4_28.setObjectName("anjianA4_28")self.anjianF.addWidget(self.anjianA4_28)self.anjianA5_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA5_28.setObjectName("anjianA5_28")self.anjianF.addWidget(self.anjianA5_28)self.anjianA6_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA6_28.setObjectName("anjianA6_28")self.anjianF.addWidget(self.anjianA6_28)self.anjianA7_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA7_28.setObjectName("anjianA7_28")self.anjianF.addWidget(self.anjianA7_28)self.anjianA8_28 = QtWidgets.QLineEdit(self.centralwidget)self.anjianA8_28.setObjectName("anjianA8_28")self.anjianF.addWidget(self.anjianA8_28)self.horizontalLayout_72.addLayout(self.anjianF)self.verticalLayout_84 = QtWidgets.QVBoxLayout()self.verticalLayout_84.setObjectName("verticalLayout_84")self.label_496 = QtWidgets.QLabel(self.centralwidget)self.label_496.setObjectName("label_496")self.verticalLayout_84.addWidget(self.label_496)self.label_497 = QtWidgets.QLabel(self.centralwidget)self.label_497.setObjectName("label_497")self.verticalLayout_84.addWidget(self.label_497)self.label_498 = QtWidgets.QLabel(self.centralwidget)self.label_498.setObjectName("label_498")self.verticalLayout_84.addWidget(self.label_498)self.label_499 = QtWidgets.QLabel(self.centralwidget)self.label_499.setObjectName("label_499")self.verticalLayout_84.addWidget(self.label_499)self.label_500 = QtWidgets.QLabel(self.centralwidget)self.label_500.setObjectName("label_500")self.verticalLayout_84.addWidget(self.label_500)self.label_501 = QtWidgets.QLabel(self.centralwidget)self.label_501.setObjectName("label_501")self.verticalLayout_84.addWidget(self.label_501)self.label_502 = QtWidgets.QLabel(self.centralwidget)self.label_502.setObjectName("label_502")self.verticalLayout_84.addWidget(self.label_502)self.label_503 = QtWidgets.QLabel(self.centralwidget)self.label_503.setObjectName("label_503")self.verticalLayout_84.addWidget(self.label_503)self.horizontalLayout_72.addLayout(self.verticalLayout_84)self.deleyF = QtWidgets.QVBoxLayout()self.deleyF.setObjectName("deleyF")self.deleyA1_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA1_28.setObjectName("deleyA1_28")self.deleyF.addWidget(self.deleyA1_28)self.deleyA2_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA2_28.setObjectName("deleyA2_28")self.deleyF.addWidget(self.deleyA2_28)self.deleyA3_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA3_28.setObjectName("deleyA3_28")self.deleyF.addWidget(self.deleyA3_28)self.deleyA4_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA4_28.setObjectName("deleyA4_28")self.deleyF.addWidget(self.deleyA4_28)self.deleyA5_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA5_28.setObjectName("deleyA5_28")self.deleyF.addWidget(self.deleyA5_28)self.deleyA6_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA6_28.setObjectName("deleyA6_28")self.deleyF.addWidget(self.deleyA6_28)self.deleyA7_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA7_28.setObjectName("deleyA7_28")self.deleyF.addWidget(self.deleyA7_28)self.deleyA8_28 = QtWidgets.QLineEdit(self.centralwidget)self.deleyA8_28.setObjectName("deleyA8_28")self.deleyF.addWidget(self.deleyA8_28)self.horizontalLayout_72.addLayout(self.deleyF)self.verticalLayoutF.addLayout(self.horizontalLayout_72)self.horizontalLayout_73 = QtWidgets.QHBoxLayout()self.horizontalLayout_73.setObjectName("horizontalLayout_73")self.label_504 = QtWidgets.QLabel(self.centralwidget)self.label_504.setObjectName("label_504")self.horizontalLayout_73.addWidget(self.label_504)self.comboBox6 = QtWidgets.QComboBox(self.centralwidget)self.comboBox6.setFocusPolicy(QtCore.Qt.NoFocus)self.comboBox6.setObjectName("comboBox6")self.comboBox6.addItem("")self.comboBox6.addItem("")self.horizontalLayout_73.addWidget(self.comboBox6)self.verticalLayoutF.addLayout(self.horizontalLayout_73)self.gridLayout.addLayout(self.verticalLayoutF, 2, 6, 1, 1)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 1298, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.toolBar = QtWidgets.QToolBar(MainWindow)self.toolBar.setObjectName("toolBar")MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)self.saveaction = QtWidgets.QAction(MainWindow)self.saveaction.setObjectName("saveaction")self.openaction = QtWidgets.QAction(MainWindow)self.openaction.setObjectName("openaction")self.finishwriteaction = QtWidgets.QAction(MainWindow)self.finishwriteaction.setObjectName("finishwriteaction")self.rewriteaction = QtWidgets.QAction(MainWindow)self.rewriteaction.setObjectName("rewriteaction")self.toolBar.addAction(self.openaction)self.toolBar.addAction(self.saveaction)self.toolBar.addAction(self.finishwriteaction)self.toolBar.addAction(self.rewriteaction)self.toolBar.addSeparator()self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "简陋的按键精灵1.0——QQ294794719"))self.label_15.setText(_translate("MainWindow", "方案A:启动热键F5、关闭热键F12"))self.label.setText(_translate("MainWindow", "按键1"))self.label_3.setText(_translate("MainWindow", "按键2"))self.label_5.setText(_translate("MainWindow", "按键3"))self.label_7.setText(_translate("MainWindow", "按键4"))self.label_9.setText(_translate("MainWindow", "按键5"))self.label_18.setText(_translate("MainWindow", "按键6"))self.label_17.setText(_translate("MainWindow", "按键7"))self.label_21.setText(_translate("MainWindow", "按键8"))self.label_2.setText(_translate("MainWindow", "延迟1"))self.label_4.setText(_translate("MainWindow", "延迟2"))self.label_6.setText(_translate("MainWindow", "延迟3"))self.label_8.setText(_translate("MainWindow", "延迟4"))self.label_10.setText(_translate("MainWindow", "延迟5"))self.label_19.setText(_translate("MainWindow", "延迟6"))self.label_16.setText(_translate("MainWindow", "延迟7"))self.label_20.setText(_translate("MainWindow", "延迟8"))self.label_11.setText(_translate("MainWindow", "循环方式"))self.comboBox1.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox1.setItemText(1, _translate("MainWindow", "一直循环"))self.label_361.setText(_translate("MainWindow", "方案B:启动热键F6、关闭热键F12"))self.label_362.setText(_translate("MainWindow", "按键1"))self.label_363.setText(_translate("MainWindow", "按键2"))self.label_364.setText(_translate("MainWindow", "按键3"))self.label_365.setText(_translate("MainWindow", "按键4"))self.label_366.setText(_translate("MainWindow", "按键5"))self.label_367.setText(_translate("MainWindow", "按键6"))self.label_368.setText(_translate("MainWindow", "按键7"))self.label_369.setText(_translate("MainWindow", "按键8"))self.label_370.setText(_translate("MainWindow", "延迟1"))self.label_371.setText(_translate("MainWindow", "延迟2"))self.label_372.setText(_translate("MainWindow", "延迟3"))self.label_373.setText(_translate("MainWindow", "延迟4"))self.label_374.setText(_translate("MainWindow", "延迟5"))self.label_375.setText(_translate("MainWindow", "延迟6"))self.label_376.setText(_translate("MainWindow", "延迟7"))self.label_377.setText(_translate("MainWindow", "延迟8"))self.label_378.setText(_translate("MainWindow", "循环方式"))self.comboBox2.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox2.setItemText(1, _translate("MainWindow", "一直循环"))self.label_379.setText(_translate("MainWindow", "方案C:启动热键F7、关闭热键F12"))self.label_380.setText(_translate("MainWindow", "按键1"))self.label_381.setText(_translate("MainWindow", "按键2"))self.label_382.setText(_translate("MainWindow", "按键3"))self.label_383.setText(_translate("MainWindow", "按键4"))self.label_384.setText(_translate("MainWindow", "按键5"))self.label_385.setText(_translate("MainWindow", "按键6"))self.label_386.setText(_translate("MainWindow", "按键7"))self.label_387.setText(_translate("MainWindow", "按键8"))self.label_388.setText(_translate("MainWindow", "延迟1"))self.label_389.setText(_translate("MainWindow", "延迟2"))self.label_390.setText(_translate("MainWindow", "延迟3"))self.label_391.setText(_translate("MainWindow", "延迟4"))self.label_392.setText(_translate("MainWindow", "延迟5"))self.label_393.setText(_translate("MainWindow", "延迟6"))self.label_394.setText(_translate("MainWindow", "延迟7"))self.label_395.setText(_translate("MainWindow", "延迟8"))self.label_396.setText(_translate("MainWindow", "循环方式"))self.comboBox3.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox3.setItemText(1, _translate("MainWindow", "一直循环"))self.label_451.setText(_translate("MainWindow", "方案D:启动热键F8、关闭热键F12"))self.label_452.setText(_translate("MainWindow", "按键1"))self.label_453.setText(_translate("MainWindow", "按键2"))self.label_454.setText(_translate("MainWindow", "按键3"))self.label_455.setText(_translate("MainWindow", "按键4"))self.label_456.setText(_translate("MainWindow", "按键5"))self.label_457.setText(_translate("MainWindow", "按键6"))self.label_458.setText(_translate("MainWindow", "按键7"))self.label_459.setText(_translate("MainWindow", "按键8"))self.label_460.setText(_translate("MainWindow", "延迟1"))self.label_461.setText(_translate("MainWindow", "延迟2"))self.label_462.setText(_translate("MainWindow", "延迟3"))self.label_463.setText(_translate("MainWindow", "延迟4"))self.label_464.setText(_translate("MainWindow", "延迟5"))self.label_465.setText(_translate("MainWindow", "延迟6"))self.label_466.setText(_translate("MainWindow", "延迟7"))self.label_467.setText(_translate("MainWindow", "延迟8"))self.label_468.setText(_translate("MainWindow", "循环方式"))self.comboBox4.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox4.setItemText(1, _translate("MainWindow", "一直循环"))self.label_469.setText(_translate("MainWindow", "方案E:启动热键F9、关闭热键F12"))self.label_470.setText(_translate("MainWindow", "按键1"))self.label_471.setText(_translate("MainWindow", "按键2"))self.label_472.setText(_translate("MainWindow", "按键3"))self.label_473.setText(_translate("MainWindow", "按键4"))self.label_474.setText(_translate("MainWindow", "按键5"))self.label_475.setText(_translate("MainWindow", "按键6"))self.label_476.setText(_translate("MainWindow", "按键7"))self.label_477.setText(_translate("MainWindow", "按键8"))self.label_478.setText(_translate("MainWindow", "延迟1"))self.label_479.setText(_translate("MainWindow", "延迟2"))self.label_480.setText(_translate("MainWindow", "延迟3"))self.label_481.setText(_translate("MainWindow", "延迟4"))self.label_482.setText(_translate("MainWindow", "延迟5"))self.label_483.setText(_translate("MainWindow", "延迟6"))self.label_484.setText(_translate("MainWindow", "延迟7"))self.label_485.setText(_translate("MainWindow", "延迟8"))self.label_486.setText(_translate("MainWindow", "循环方式"))self.comboBox5.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox5.setItemText(1, _translate("MainWindow", "一直循环"))self.label_487.setText(_translate("MainWindow", "方案F::启动热键F10、关闭热键F12"))self.label_488.setText(_translate("MainWindow", "按键1"))self.label_489.setText(_translate("MainWindow", "按键2"))self.label_490.setText(_translate("MainWindow", "按键3"))self.label_491.setText(_translate("MainWindow", "按键4"))self.label_492.setText(_translate("MainWindow", "按键5"))self.label_493.setText(_translate("MainWindow", "按键6"))self.label_494.setText(_translate("MainWindow", "按键7"))self.label_495.setText(_translate("MainWindow", "按键8"))self.label_496.setText(_translate("MainWindow", "延迟1"))self.label_497.setText(_translate("MainWindow", "延迟2"))self.label_498.setText(_translate("MainWindow", "延迟3"))self.label_499.setText(_translate("MainWindow", "延迟4"))self.label_500.setText(_translate("MainWindow", "延迟5"))self.label_501.setText(_translate("MainWindow", "延迟6"))self.label_502.setText(_translate("MainWindow", "延迟7"))self.label_503.setText(_translate("MainWindow", "延迟8"))self.label_504.setText(_translate("MainWindow", "循环方式"))self.comboBox6.setItemText(0, _translate("MainWindow", "执行一次"))self.comboBox6.setItemText(1, _translate("MainWindow", "一直循环"))self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))self.saveaction.setText(_translate("MainWindow", "保存"))self.saveaction.setToolTip(_translate("MainWindow", "保存数据"))self.openaction.setText(_translate("MainWindow", "打开"))self.openaction.setToolTip(_translate("MainWindow", "打开保存的文件"))self.finishwriteaction.setText(_translate("MainWindow", "生成"))self.finishwriteaction.setToolTip(_translate("MainWindow", "完成了编辑,生成脚本"))self.rewriteaction.setText(_translate("MainWindow", "修改"))self.rewriteaction.setToolTip(_translate("MainWindow", "重写编写"))

4.打包过程

好久没打包了,遇到好多坑

1.使用pachram的终端打包,终端默认使用系统变量里的python,而不是项目解释器的。那个解释器没我运行的包,显示如图

       

查看打包过程,发现

INFO: UPX is not available.

这肯定有问题啊,开始下载UPX,发现官网下不了,后来知道只是压缩用的,不压缩也行,先置之不理,能下了大佬告知一声

WARNING: Hidden import "sip" not found!

少了东西也不行啊,导入了一个sip,反正也没啥用

后来检查,INFO: Python: 3.9.10

发现我应该使用 Python: 3.8.6,于是更改环境变量里的python路径,使用本项目的scripe打包,终于成功

另:Python: 3.8打包的能在win7上使用,再高的版本不行。

尽量使用32位的。因为64位的不能在32位的运行,反之可以。

查看自己的python环境里的包,他会自动打包所有你下的包,如果在最完全的环境打包,包会很大很大

部分引用,时间匆忙,未查询来源,侵删

python:写个简陋的按键精灵相关推荐

  1. python游戏脚本之调用按键精灵插件模拟输入(二)

    我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作.大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用. 网上相关教 ...

  2. python找色_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库

    Python图片处理模块PIL(pillow) pywin32的主要作用 1.捕获窗口: 2.模拟鼠标键盘动作: 3.自动获取某路径下文件列表: 4.PIL截屏功能 找色点击功能思路: 抓取当前屏幕快 ...

  3. 如何用python写脚本_【按键教程】用python写脚本 另附垫材24与变奏22的实现

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 二.脚本中需要些什么 以PE10炮为例 #!/usr/bin/python #对mac/linux用户,可以点击脚本文件即运行 # -*- coding: ...

  4. python 秒切黄牌_按键精灵硬件模拟原理是什么?用python如何实现?

    这个我做过 简单来说下吧 软改是基于表面伪装修改需要安装框架之类的 硬改基于底层数据修改 不需要安装框架等更强大更强悍 使用权限 永久使用免费更新 高级版本安卓MTK 4G 手机硬件一键修改一键新机 ...

  5. 触动精灵和按键精灵哪个好,如何用按键精灵ios触动精灵及脚本写自动答题脚本...

    答:都差不多,无非是键鼠图色功能,这些软件都具备!其它差异就看你对他们熟悉程序而选择了~~ 比如我经常用按键精灵 首选肯定是安卓按键! 答:不能! 答:只有越狱才有,越狱之后在Cydia搜索autot ...

  6. android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  7. python 定时器_按键精灵定时器介绍和使用,不会的小伙伴速速看看精辟

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  8. 按键精灵打卡怎么写_[按键精灵教程]过新手引导的各种姿势

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  9. python 按键精灵 离线_(番外篇)Python操纵网盘客户端批量离线下载电影

    上回(Python实现电影排行榜自动网盘下载(4)Cookies免登录+抓包下载)说到,一段时间内能进行多少次离线下载还是受限于验证码的输入. 在此有两个解决方案, 见招拆招 通过GUI优化验证码输入 ...

最新文章

  1. Waymo无人车高层动荡:CFO今日也走了,半年已失8名高管
  2. linux 查看java最大内存配置,Linux和Windows下的内存设置
  3. Kaggle 数据挖掘比赛经验分享 (转载)
  4. 关于操作系统中进程、线程、死锁、同步、进程间通信(IPC)的超详细详解整理
  5. .net EF框架 MySql实现实例
  6. ubuntu 设置分辨率 亲测可用 转载的
  7. mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中
  8. Magento: 产品页面下jquery change函数失效 Call javascript function onchange product option
  9. C语言丨小 学 数 学(一):高精度加法
  10. java 获取字符串_详解Java String字符串获取每一个字符及常用方法
  11. django之开发环境关于settins.py里面的DEBUG的设置和静态文件的关系
  12. zend 插件 html,插入自定义HTML到Zend_Form的
  13. EndNote X7如何在论文中嵌入中文定格式要求的参考文献
  14. 安利一个简单实用的小技巧:图片怎么批量改尺寸
  15. c语言编程数字后有ul,十六进制数后跟L/U/UL解析
  16. My_blog个人博客系统
  17. windows server 试用激活 及 设置用户数
  18. 阿里云ECS的1M带宽能干嘛?
  19. 真正的程序员到底应该是什么样子的?
  20. win10电脑如何远程连接云服务器?

热门文章

  1. 卖保健产品怎么引流?关于做男性保健品怎么引流的详细介绍
  2. C语言while循环语句 do while语句 for循环语句
  3. 解决vue重复点击路由报错问题:Uncaught (in promise) NavigationDuplicated
  4. lterator的初体验
  5. GBT 25000.51-2010 软件工程 软件产品质量要求与评价(SquaRE)商业现货(COTS)软件产品的质量要求和测试细则...
  6. kubernetes 调用 rook 作后端存储
  7. 计算机开机变慢的十大原因
  8. android通知栏样式自定义,如何给状态栏上的时钟自定义样式或位置?(位置篇)
  9. 机器学习 —— 决策树
  10. MSE(均方误差)函数和RMSE函数