• PyQT5 记录笔记


    #字号字体 font: 10pt "Consolas";    
    
    #颜色          
    color: rgb(0, 85, 0);
    color:red;
    
    #边框线条 border:2px groove gray;
    
    #圆角 border-radius:10px;
    
    #文字与框边距 padding:4px;
    
    #背景颜色 background-color: yellow;
    
    #所选内容的颜色 selection-color: yellow;
    
    #所选内容背景颜色 selection-background-color: blue
    
    #代码 禁止拉伸窗口
    Dialog.setFixedSize(1010,550)
    
    #代码 配置背景色
    self.ui.label_2.setStyleSheet('background-color:green')
    
    #界面控件属性,鼠标原型,进入,按下 三种效果
    QPushButton{
    background-color:rgb(229, 241, 251);
    border-radius:10px; 
    color: black;
    border:2px groove gray;
    border-radius: 10px;
    }
    
    QPushButton:hover{background-color:rgb(229, 0, 251);
    border-radius:10px; 
    color: black;
    border:2px groove gray;
    border-radius: 10px;
    }
    
    QPushButton:pressed{
    background-color:rgb(204, 228, 247);
    border-style: inset;
    border:2px groove gray;
    border-radius: 10px;
    }
    
    #在代码里配置圆角 背景色 线框
    self.ui.label_2.setStyleSheet("border-radius:20px;"
                                  "background-color: rgb(0, 255, 0);"
                                  "border:2px groove gray;")
    
    
    #在函数下 时时刷新QT界面
    QApplication.processEvents() 
    
    #Qpushbotton样式表
    https://blog.csdn.net/aiwangtingyun/article/details/94462976
    
    #lineEdit,textEdit读写
    self.ui.lineEdit.text()
    self.ui.textEdit.toPlainText()
    self.ui.lineEdit.setText('')
    self.ui.textEdit.setText('')
    
    #lineEdit文字显示居中,代码
    self.ui.lineEdit.setAlignment(QtCore.Qt.AlignCenter)

    
    

     1.整理配置字

    # -*- coding: utf-8 -*-
    # @Time  : 1/25/2022
    # @Athor : WuHe
    # @File  : RemoveTsMain.py
    
    import re
    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog
    
    
    # from Removets import Ui_Dialog
    
    
    class Ui_Dialog(object):
        def setupUi(self, Dialog):
            Dialog.setObjectName("Dialog")
            Dialog.resize(1010, 550)
            Dialog.setFixedSize(1010,550)
    
            self.pushButton = QtWidgets.QPushButton(Dialog)
            self.pushButton.setGeometry(QtCore.QRect(900, 490, 100, 40))
            self.pushButton.setStyleSheet("font: 9pt \"Consolas\";    \n"
                                          "color: rgb(255, 0, 0);\n"
                                          "border:2px groove gray;\n"
                                          "border-radius:8px;\n"
                                          "padding:4px;\n"
                                          "background-color: rgb(204, 204, 204);\n"
                                          "selection-color: yellow;\n"
                                          "selection-background-color: blue")
            self.pushButton.setObjectName("pushButton")
            self.pushButton_2 = QtWidgets.QPushButton(Dialog)
            self.pushButton_2.setGeometry(QtCore.QRect(780, 490, 100, 40))
            self.pushButton_2.setStyleSheet("font: 10pt \"Consolas\";    \n"
                                            "color: rgb(0, 0, 127);\n"
                                            "border:1px groove gray;\n"
                                            "border-radius:8px;\n"
                                            "padding:0 4px;\n"
                                            "background-color: rgb(249, 255, 250);\n"
                                            "selection-color: yellow;\n"
                                            "selection-background-color: blue")
            self.pushButton_2.setObjectName("pushButton_2")
            self.lineEdit = QtWidgets.QLineEdit(Dialog)
            self.lineEdit.setGeometry(QtCore.QRect(20, 75, 861, 50))
            self.lineEdit.setStyleSheet("font: 25 9pt \"Microsoft JhengHei UI Light\";\n"
                                        "color: rgb(0, 0, 127);\n"
                                        "border:1px groove gray;\n"
                                        "border-radius:5px;\n"
                                        "padding:4px;\n"
                                        "\n"
                                        "selection-color: yellow;\n"
                                        "selection-background-color: blue")
            self.lineEdit.setText("")
            self.lineEdit.setObjectName("lineEdit")
            self.textEdit = QtWidgets.QTextEdit(Dialog)
            self.textEdit.setGeometry(QtCore.QRect(20, 140, 861, 301))
            self.textEdit.setStyleSheet(" \n"
                                        "font: 10pt \"SimSun\";\n"
                                        "color: rgb(0, 0, 127);\n"
                                        "border:1px groove gray;\n"
                                        "border-radius:5px;\n"
                                        "padding:4px;\n"
                                        "\n"
                                        "selection-color: yellow;\n"
                                        "selection-background-color: blue")
            self.textEdit.setObjectName("textEdit")
            self.pushButton_3 = QtWidgets.QPushButton(Dialog)
            self.pushButton_3.setGeometry(QtCore.QRect(900, 80, 100, 40))
            self.pushButton_3.setStyleSheet("font: 9pt \"Consolas\";    \n"
                                            "color: rgb(0, 0, 127);\n"
                                            "border:1px groove gray;\n"
                                            "border-radius:8px;\n"
                                            "padding:0 4px;\n"
                                            "background-color: rgb(249, 255, 250);\n"
                                            "selection-color: yellow;\n"
                                            "selection-background-color: blue")
            self.pushButton_3.setObjectName("pushButton_3")
            self.label = QtWidgets.QLabel(Dialog)
            self.label.setGeometry(QtCore.QRect(280, 0, 652, 77))
            self.label.setStyleSheet("font: 14pt \"Imprint MT Shadow\";")
            self.label.setObjectName("label")
            self.label_2 = QtWidgets.QLabel(Dialog)
            self.label_2.setGeometry(QtCore.QRect(20, 490, 220, 21))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.label_2.setFont(font)
            self.label_2.setText("")
            self.label_2.setObjectName("label_2")
    
            self.retranslateUi(Dialog)
            self.pushButton.clicked.connect(Dialog.close)
            QtCore.QMetaObject.connectSlotsByName(Dialog)
    
        def retranslateUi(self, Dialog):
            _translate = QtCore.QCoreApplication.translate
            Dialog.setWindowTitle(_translate("Dialog", "Sort TsMaster Config Byte Tool"))
            self.pushButton.setText(_translate("Dialog", "Exit"))
            self.pushButton_2.setText(_translate("Dialog", "Go"))
            self.pushButton_3.setText(_translate("Dialog", "Open.."))
            self.label.setText(_translate("Dialog", "Sort TsMaster Config Byte Tool"))
    
    
    class RemoveTS(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.ui = Ui_Dialog()
            self.ui.setupUi(self)
    
            # self.ui.lineEdit.setText('select txt path')
    
            self.ui.label_2.setText('')
            self.ui.pushButton_3.clicked.connect(self.do_btn_open)
            self.ui.pushButton_2.clicked.connect(self.do_btn_go)
    
        def do_btn_open(self):
    
            open_path_full = QFileDialog.getOpenFileName(None, 'Select TsMaster txt file', '*.txt', 'All Files (*)')
    
            open_path = open_path_full[0]
            print('open_path is:', open_path)
            self.ui.lineEdit.setText(open_path)
            if open_path == '':
                self.ui.textEdit.setText('please select txt file first!')
    
        def do_btn_go(self):
            btn_go_not_empty=self.ui.lineEdit.text()
            print('1')
            if btn_go_not_empty =='':
                self.ui.textEdit.setText('please select txt file')
            else:
    
                txt_path = self.ui.lineEdit.text()
    
                config_list = []
                str_result = ''
                with open(txt_path, 'r') as f:
                    txt_data = f.readlines()
                txt_data_str = ''.join(txt_data)
    
                i = 0
                for i in range(0, 10):
                    config_num = txt_data_str.find('confi_' + str(i))
                    config_i_underline = txt_data_str[config_num + 9:config_num + 9 + 59]
                    str_find = re.findall("[a-zA-Z0-9]", config_i_underline)
                    str_config = ''.join(str_find)
                    config_list.append(str_config)
    
                print(config_list)
                str_result = ''.join(config_list)
                print(str_result)
                str_result_len = len(str_result)
    
                self.ui.textEdit.setText(str_result)
    
                if str_result_len == 400:
    
                    print('配置字长度标准是400字节,此次读取的长度是:', str_result_len)
                    self.ui.label_2.setText(' PASS bytes length:400')
                    self.ui.label_2.setStyleSheet('background-color:green')
                else:
                    str_result_len_str = str(str_result_len)
                    print('1')
                    self.ui.label_2.setText(' FAIL  bytes length: ' + str_result_len_str)
                    self.ui.label_2.setStyleSheet('background-color:red')
                    print('2')
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        form = RemoveTS()
        form.show()
        sys.exit(app.exec_())
    View Code

     2.抓取安卓屏幕坐标

    # -*- coding: utf-8 -*-
    # @Time  : 1/25/2022
    # @Athor : WuHe
    # @File  : FindDisplayPixMain.py
    
    #from pix import Ui_Form
    import os, time
    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QApplication, QWidget
    
    
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(659, 585)
            font = QtGui.QFont()
            font.setPointSize(10)
            Form.setFont(font)
            self.pushButton = QtWidgets.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(320, 370, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton.setFont(font)
            self.pushButton.setStyleSheet("QPushButton{\n"
                                          "background-color:rgb(229, 241, 251);\n"
                                          "border-radius:10px; \n"
                                          "color: black;\n"
                                          "border:2px groove gray;\n"
                                          "border-radius: 10px;\n"
                                          "}\n"
                                          "\n"
                                          "QPushButton:hover{\n"
                                          "background-color: rgb(170, 255, 255);\n"
                                          "border-radius:10px; \n"
                                          "color: black;\n"
                                          "border:2px groove gray;\n"
                                          "border-radius: 10px;\n"
                                          "}\n"
                                          "\n"
                                          "QPushButton:pressed{\n"
                                          "background-color: rgb(207, 254, 245);\n"
                                          "border-style: inset;\n"
                                          "border:2px groove gray;\n"
                                          "border-radius: 10px;\n"
                                          "}\n"
                                          "")
            self.pushButton.setObjectName("pushButton")
            self.pushButton_2 = QtWidgets.QPushButton(Form)
            self.pushButton_2.setGeometry(QtCore.QRect(490, 370, 121, 41))
            self.pushButton_2.setStyleSheet("QPushButton{\n"
                                            "background-color:rgb(229, 241, 251);\n"
                                            "border-radius:10px; \n"
                                            "color: black;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgb(170, 255, 255);\n"
                                            "border-radius:10px; \n"
                                            "color: black;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgb(207, 254, 245);\n"
                                            "border-style: inset;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "")
            self.pushButton_2.setObjectName("pushButton_2")
            self.label = QtWidgets.QLabel(Form)
            self.label.setGeometry(QtCore.QRect(130, 30, 441, 31))
            font = QtGui.QFont()
            font.setFamily("Mongolian Baiti")
            font.setPointSize(20)
            font.setBold(False)
            font.setItalic(False)
            font.setWeight(50)
            self.label.setFont(font)
            self.label.setStyleSheet("font: 20pt \"Mongolian Baiti\";")
            self.label.setObjectName("label")
            self.pushButton_3 = QtWidgets.QPushButton(Form)
            self.pushButton_3.setGeometry(QtCore.QRect(320, 128, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_3.setFont(font)
            self.pushButton_3.setStyleSheet("QPushButton{\n"
                                            "background-color:rgb(229, 241, 251);\n"
                                            "border-radius:10px; \n"
                                            "color: black;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "\n"
                                            "QPushButton:hover{\n"
                                            "background-color: rgb(170, 255, 255);\n"
                                            "border-radius:10px; \n"
                                            "color: black;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "\n"
                                            "QPushButton:pressed{\n"
                                            "background-color: rgb(207, 254, 245);\n"
                                            "border-style: inset;\n"
                                            "border:2px groove gray;\n"
                                            "border-radius: 10px;\n"
                                            "}\n"
                                            "")
            self.pushButton_3.setObjectName("pushButton_3")
            self.label_2 = QtWidgets.QLabel(Form)
            self.label_2.setGeometry(QtCore.QRect(480, 128, 41, 41))
            self.label_2.setStyleSheet("")
            self.label_2.setText("")
            self.label_2.setObjectName("label_2")
            self.lineEdit = QtWidgets.QLineEdit(Form)
            self.lineEdit.setGeometry(QtCore.QRect(50, 128, 230, 30))
            self.lineEdit.setStyleSheet("font: 63 10pt \"Yu Gothic UI Semibold\";\n"
                                        "border-radius:10px; \n"
                                        "color: black;\n"
                                        "border:2px groove gray;\n"
                                        "\n"
                                        "padding:5px;\n"
                                        "\n"
                                        "")
            self.lineEdit.setObjectName("lineEdit")
            self.label_3 = QtWidgets.QLabel(Form)
            self.label_3.setGeometry(QtCore.QRect(50, 100, 161, 16))
            self.label_3.setStyleSheet("font: 10pt \"Yu Gothic UI Semilight\";")
            self.label_3.setObjectName("label_3")
            self.groupBox = QtWidgets.QGroupBox(Form)
            self.groupBox.setGeometry(QtCore.QRect(40, 160, 251, 411))
            self.groupBox.setStyleSheet("font: 10pt \"Yu Gothic UI Semilight\";")
            self.groupBox.setObjectName("groupBox")
            self.textEdit = QtWidgets.QTextEdit(self.groupBox)
            self.textEdit.setGeometry(QtCore.QRect(10, 30, 231, 371))
            self.textEdit.setStyleSheet("border-radius:10px; \n"
                                        "color: black;\n"
                                        "border:2px groove gray;\n"
                                        "border-radius: 10px;\n"
                                        "padding:4px;\n"
                                        "\n"
                                        "")
            self.textEdit.setObjectName("textEdit")
            self.label_4 = QtWidgets.QLabel(Form)
            self.label_4.setGeometry(QtCore.QRect(320, 270, 281, 41))
            self.label_4.setStyleSheet("\n"
                                       "")
            self.label_4.setText("")
            self.label_4.setObjectName("label_4")
    
            self.retranslateUi(Form)
            self.pushButton_2.clicked.connect(Form.close)
            QtCore.QMetaObject.connectSlotsByName(Form)
    
        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Get Coordinate"))
            self.pushButton.setText(_translate("Form", "Go.."))
            self.pushButton_2.setText(_translate("Form", "Exit"))
            self.label.setText(_translate("Form", "Get Android Coordinate Tool"))
            self.pushButton_3.setText(_translate("Form", "Connect.."))
            self.label_3.setText(_translate("Form", "Current Coordinate"))
            self.groupBox.setTitle(_translate("Form", "History"))
    
    
    class GetDisplayPixel(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.ui = Ui_Form()
            self.ui.setupUi(self)
            self.ui.textEdit.setText('')
            self.ui.lineEdit.setText('')
            self.ui.pushButton.clicked.connect(self.do_btn_go)
            self.ui.pushButton_3.clicked.connect(self.go_precondition)
            self.num = 0
            self.connect_bool = 0
    
        def do_btn_go(self):
            # 计算公式:(touch_size * wm_size / max)
    
            self.num += 1
            if self.connect_bool == 1:
                self.ui.label_4.setText('  Ready to press display...: ' + str(self.num))
                self.ui.label_4.setStyleSheet('background-color:green;'"font: 75 10pt 'MS Shell Dlg 2'")
                QApplication.processEvents()
    
                wm_x, wm_y = self.read_wm_size()
                get_x_max, get_y_max, dec_x, dec_y = self.get_max()
                # dec_x, dec_y ,get_device_name= read_getevent()
                x = int(dec_x * wm_x / get_x_max)
                y = int(dec_y * wm_y / get_y_max)
                # self.ui.lineEdit.setText(str(x) + ',' + str(y))
                str_x = str(x)
                str_y = str(y)
                self.ui.lineEdit.setText(str_x + ',' + str_y)
                self.ui.textEdit.append('loop num is :' + str(self.num))
    
                self.ui.textEdit.append(str_x + ',' + str_y)
                # QApplication.processEvents()
                time.sleep(0.2)
            else:
                self.ui.label_4.setText('Connect adb firstly!')
                QApplication.processEvents()
    
        def go_precondition(self):
    
            fun = os.popen('adb devices')
            fun_read = fun.readlines()
            devices_num = len(fun_read)
            if devices_num > 2:
    
                self.connect_bool = 1
            else:
                self.connect_bool = 0
    
            if self.connect_bool:
                self.ui.label_4.setText('           Connect Success! ')
                self.ui.label_4.setStyleSheet('background-color:green;'"font: 80 10pt 'MS Shell Dlg 2'")
                self.ui.label_2.setStyleSheet("border-radius:20px;"
                                              "background-color: rgb(0, 255, 0);"
                                              "border:2px groove gray;")
            else:
                self.ui.label_2.setStyleSheet("border-radius:20px;"
                                              "background-color: rgb(255, 0, 0);"
                                              "border:2px groove gray;")
    
        # 前提条件:电脑可以正常使用adb命令
        def read_wm_size(self):
            fun = os.popen('adb shell wm size')
            fun_read = fun.readline()
            wm_xy = fun_read.split(':')[1].strip().split('x')
            wm_x = int(wm_xy[0])
            wm_y = int(wm_xy[1])
            print('屏幕物理尺寸的x:', wm_x)
            print('屏幕物理尺寸的y:', wm_y)
            return wm_x, wm_y
    
        def read_getevent(self):
            fun = os.popen('adb shell getevent -c 10')
            # fun = os.popen('adb shell getevent')
            print('请点击需要读取的屏幕位置')
            fun_read = []  # is list
            while fun_read == []:
                fun_read = fun.readlines()
                time.sleep(0.1)
            # print(fun_read)
    
            # to string
            str = ''.join(fun_read)
            # print(str)
            get_x_position = str.find('0035')
            get_x = str[get_x_position + 5:get_x_position + 5 + 8]
            get_y_position = str.find('0036')
            get_y = str[get_y_position + 5:get_y_position + 5 + 8]
            # to DEC
            dec_x = int(get_x.upper(), 16)
            dec_y = int(get_y.upper(), 16)
            print('点击的点的像素x:', dec_x)
            print('点击的点的像素y:', dec_y)
            # print('35 and 36:',get_x_position,get_y_position)
            # /dev/input/event2
            get_device_35_36_str = str[get_x_position + 5 + 9:get_y_position - 7]
            # print('between 35-36:', get_device_35_36_str)
    
            get_device_index = str.find(get_device_35_36_str)
            get_device_name = str[get_device_index - 14:get_device_index - 2].strip()
            # print('device name:', get_device_name)
    
            return dec_x, dec_y, get_device_name
    
        def get_max(self):
            dec_x, dec_y, get_device_name = self.read_getevent()
            # print('1111:', get_device_name)
            # get_device_name='add device 2'
    
            fun = os.popen('adb shell getevent -p')
            fun_read = fun.readlines()
    
            str = ''.join(fun_read)
    
            get_mark = str.find(get_device_name)
    
            mark_str = str[get_mark:]
            # print(mark_str)
    
            get_x1_position = mark_str.find('0035')
            get_x2_position = mark_str.find('0036')
            get_x1 = mark_str[get_x1_position + 4:get_x2_position]
            get_x1_max = get_x1[get_x1.find('max'):]
            get_x1_max_1 = get_x1_max.find(',')  # get_x1_max_1=8
            get_x_max = int(get_x1_max[3:get_x1_max_1].strip()) + 1
            print('屏幕像素点最大值x:', get_x_max)
    
            get_y1_position = mark_str.find('0036')
            get_y2_position = mark_str.find('0039')
            get_y1 = mark_str[get_y1_position + 4:get_y2_position]
            get_y1_max = get_y1[get_y1.find('max'):]
            get_y1_max_1 = get_y1_max.find(',')  # get_x1_max_1=8
            get_y_max = int(get_y1_max[3:get_y1_max_1].strip()) + 1
            print('屏幕像素点最大值y:', get_y_max)
            return get_x_max, get_y_max, dec_x, dec_y
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        form = GetDisplayPixel()
        form.show()
        sys.exit(app.exec_())
    View Code

     3.计数器

    # -*- coding: utf-8 -*-
    # @Time  : 2/11/2022
    # @Athor : WuHe
    # @File  : counterMain.py
    
    #from count import Ui_Form
    import time
    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QApplication, QWidget
    
    
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(581, 433)
            font = QtGui.QFont()
            font.setPointSize(10)
            Form.setFont(font)
            self.pushButton = QtWidgets.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(280, 160, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton.setFont(font)
            self.pushButton.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton.setObjectName("pushButton")
            self.pushButton_3 = QtWidgets.QPushButton(Form)
            self.pushButton_3.setGeometry(QtCore.QRect(280, 90, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_3.setFont(font)
            self.pushButton_3.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_3.setObjectName("pushButton_3")
            self.label_2 = QtWidgets.QLabel(Form)
            self.label_2.setGeometry(QtCore.QRect(480, 108, 41, 41))
            self.label_2.setStyleSheet("")
            self.label_2.setText("")
            self.label_2.setObjectName("label_2")
            self.lineEdit = QtWidgets.QLineEdit(Form)
            self.lineEdit.setGeometry(QtCore.QRect(50, 90, 180, 100))
            self.lineEdit.setLayoutDirection(QtCore.Qt.LeftToRight)
            self.lineEdit.setStyleSheet("\n"
    "border-radius:10px; \n"
    "color: rgb(0, 162, 0);\n"
    "font: 30pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "\n"
    "padding:5px;\n"
    "\n"
    "")
            self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
            self.lineEdit.setObjectName("lineEdit")
            self.label_3 = QtWidgets.QLabel(Form)
            self.label_3.setGeometry(QtCore.QRect(50, 80, 161, 16))
            self.label_3.setStyleSheet("font: 10pt \"Yu Gothic UI Semilight\";")
            self.label_3.setText("")
            self.label_3.setObjectName("label_3")
            self.label_4 = QtWidgets.QLabel(Form)
            self.label_4.setGeometry(QtCore.QRect(240, 60, 281, 41))
            self.label_4.setStyleSheet("")
            self.label_4.setText("")
            self.label_4.setObjectName("label_4")
            self.pushButton_4 = QtWidgets.QPushButton(Form)
            self.pushButton_4.setGeometry(QtCore.QRect(420, 90, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_4.setFont(font)
            self.pushButton_4.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_4.setObjectName("pushButton_4")
            self.label = QtWidgets.QLabel(Form)
            self.label.setGeometry(QtCore.QRect(220, 10, 141, 31))
            font = QtGui.QFont()
            font.setFamily("Ravie")
            font.setPointSize(14)
            self.label.setFont(font)
            self.label.setObjectName("label")
            self.groupBox = QtWidgets.QGroupBox(Form)
            self.groupBox.setGeometry(QtCore.QRect(20, 50, 541, 181))
            self.groupBox.setObjectName("groupBox")
            self.pushButton_2 = QtWidgets.QPushButton(self.groupBox)
            self.pushButton_2.setGeometry(QtCore.QRect(400, 110, 121, 41))
            self.pushButton_2.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_2.setObjectName("pushButton_2")
            self.groupBox_2 = QtWidgets.QGroupBox(Form)
            self.groupBox_2.setGeometry(QtCore.QRect(20, 250, 541, 161))
            self.groupBox_2.setObjectName("groupBox_2")
            self.textEdit = QtWidgets.QTextEdit(self.groupBox_2)
            self.textEdit.setGeometry(QtCore.QRect(30, 40, 195, 66))
            self.textEdit.setStyleSheet("\n"
    "border-radius:10px; \n"
    "color: rgb(0, 162, 0);\n"
    "font: 23pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "\n"
    "padding:2px;\n"
    "\n"
    "")
            self.textEdit.setObjectName("textEdit")
            self.pushButton_5 = QtWidgets.QPushButton(self.groupBox_2)
            self.pushButton_5.setGeometry(QtCore.QRect(260, 40, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_5.setFont(font)
            self.pushButton_5.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_5.setObjectName("pushButton_5")
            self.pushButton_6 = QtWidgets.QPushButton(self.groupBox_2)
            self.pushButton_6.setGeometry(QtCore.QRect(260, 100, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_6.setFont(font)
            self.pushButton_6.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_6.setObjectName("pushButton_6")
            self.pushButton_7 = QtWidgets.QPushButton(self.groupBox_2)
            self.pushButton_7.setGeometry(QtCore.QRect(400, 40, 121, 41))
            font = QtGui.QFont()
            font.setPointSize(10)
            self.pushButton_7.setFont(font)
            self.pushButton_7.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_7.setObjectName("pushButton_7")
            self.groupBox.raise_()
            self.pushButton.raise_()
            self.pushButton_3.raise_()
            self.label_2.raise_()
            self.lineEdit.raise_()
            self.label_3.raise_()
            self.label_4.raise_()
            self.pushButton_4.raise_()
            self.label.raise_()
            self.groupBox_2.raise_()
    
            self.retranslateUi(Form)
            self.pushButton_2.clicked.connect(Form.close)
            QtCore.QMetaObject.connectSlotsByName(Form)
    
        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Counter"))
            self.pushButton.setText(_translate("Form", "-1"))
            self.pushButton_3.setText(_translate("Form", "+1"))
            self.pushButton_4.setText(_translate("Form", "Reset"))
            self.label.setText(_translate("Form", "Counter"))
            self.groupBox.setTitle(_translate("Form", "计数器"))
            self.pushButton_2.setText(_translate("Form", "Exit"))
            self.groupBox_2.setTitle(_translate("Form", "计时器"))
            self.pushButton_5.setText(_translate("Form", "Start"))
            self.pushButton_6.setText(_translate("Form", "Stop"))
            self.pushButton_7.setText(_translate("Form", "Reset"))
    
    
    class Counter(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.ui = Ui_Form()
            self.ui.setupUi(self)
    
            self.ui.lineEdit.setText('0')
            self.ui.pushButton_3.clicked.connect(self.do_btn_plus)
            self.ui.pushButton.clicked.connect(self.do_btn_subduction)
            self.ui.pushButton_4.clicked.connect(self.do_btn_reset)
    
            self.ui.pushButton_6.clicked.connect(self.do_btn_stop)
            self.ui.pushButton_5.clicked.connect(self.do_btn_start)
            self.ui.pushButton_7.clicked.connect(self.do_btn_reset2)
            self.ui.pushButton_2.clicked.connect(self.do_btn_exit)
    
            self.time_m = 1
            self.time_s = 1
            self.time_ms = 1
            self.timer_true=True
    
        def do_btn_plus(self):
            read_value_str = self.ui.lineEdit.text()
            if read_value_str == '':
                read_value_str = 0
            read_value = int(read_value_str) + 1
            read_value_str_dis = str(read_value)
            self.ui.lineEdit.setText(read_value_str_dis)
    
        def do_btn_subduction(self):
            read_value_str = self.ui.lineEdit.text()
            if read_value_str == '':
                read_value_str = 0
            read_value = int(read_value_str) - 1
            read_value_str_dis = str(read_value)
            self.ui.lineEdit.setText(read_value_str_dis)
    
        def do_btn_reset(self):
            self.ui.lineEdit.setText('0')
    
        # time.struct_time(tm_year=2022, tm_mon=3, tm_mday=1, tm_hour=16, tm_min=6, tm_sec=47, tm_wday=1, tm_yday=60, tm_isdst=0)
    
        def do_btn_start(self):
            self.timer_true=True
            time_start = time.time()
            while self.timer_true:
                elapsed_time=time.time()-time_start
                self.time_m=int(elapsed_time/60)
                self.time_s=int(elapsed_time-self.time_m*60)
                time_ms_1=int((elapsed_time-self.time_s-self.time_m*60)*1000)
                self.time_ms=int(('%2d'% time_ms_1))
    
                last_time=('%02d:%02d:%03d'% (self.time_m,self.time_s,self.time_ms))
                self.ui.textEdit.setText(last_time)
                time.sleep(0.001)
                QApplication.processEvents()
    
        def do_btn_stop(self):
            self.timer_true=False
    
        def do_btn_reset2(self):
            self.timer_true = False
            time.sleep(0.01)
            reset_default = '00:00:000'
            self.ui.textEdit.setText(reset_default)
    
        def do_btn_exit(self):
            self.timer_true = False
    
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        form = Counter()
        form.show()
        sys.exit(app.exec_())
    View Code

     4.beep闹钟

    import time
    import sys
    import winsound
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QApplication, QWidget
    
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(737, 414)
            Form.setFixedSize(737,414)
            font = QtGui.QFont()
            font.setPointSize(10)
            Form.setFont(font)
            self.label_2 = QtWidgets.QLabel(Form)
            self.label_2.setGeometry(QtCore.QRect(480, 108, 41, 41))
            self.label_2.setStyleSheet("")
            self.label_2.setText("")
            self.label_2.setObjectName("label_2")
            self.label_3 = QtWidgets.QLabel(Form)
            self.label_3.setGeometry(QtCore.QRect(50, 80, 161, 16))
            self.label_3.setStyleSheet("font: 10pt \"Yu Gothic UI Semilight\";")
            self.label_3.setText("")
            self.label_3.setObjectName("label_3")
            self.label_4 = QtWidgets.QLabel(Form)
            self.label_4.setGeometry(QtCore.QRect(240, 60, 281, 41))
            self.label_4.setStyleSheet("")
            self.label_4.setText("")
            self.label_4.setObjectName("label_4")
            self.label = QtWidgets.QLabel(Form)
            self.label.setGeometry(QtCore.QRect(300, 10, 141, 31))
            font = QtGui.QFont()
            font.setFamily("Ravie")
            font.setPointSize(14)
            self.label.setFont(font)
            self.label.setObjectName("label")
            self.groupBox = QtWidgets.QGroupBox(Form)
            self.groupBox.setGeometry(QtCore.QRect(20, 60, 691, 331))
            self.groupBox.setObjectName("groupBox")
            self.pushButton_2 = QtWidgets.QPushButton(self.groupBox)
            self.pushButton_2.setGeometry(QtCore.QRect(570, 60, 81, 101))
            self.pushButton_2.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "color: red;\n"
    "font: 12pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_2.setObjectName("pushButton_2")
            self.lineEdit = QtWidgets.QLineEdit(self.groupBox)
            self.lineEdit.setGeometry(QtCore.QRect(110, 50, 221, 61))
            self.lineEdit.setLayoutDirection(QtCore.Qt.LeftToRight)
            self.lineEdit.setStyleSheet("\n"
    "border-radius:10px; \n"
    "color: rgb(0, 162, 0);\n"
    "font: 15pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "\n"
    "padding:5px;\n"
    "\n"
    "")
            self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
            self.lineEdit.setObjectName("lineEdit")
            self.label_5 = QtWidgets.QLabel(self.groupBox)
            self.label_5.setGeometry(QtCore.QRect(10, 60, 91, 40))
            self.label_5.setObjectName("label_5")
            self.lineEdit_2 = QtWidgets.QLineEdit(self.groupBox)
            self.lineEdit_2.setGeometry(QtCore.QRect(110, 130, 221, 61))
            self.lineEdit_2.setLayoutDirection(QtCore.Qt.LeftToRight)
            self.lineEdit_2.setStyleSheet("\n"
    "border-radius:10px; \n"
    "color: rgb(0, 162, 0);\n"
    "font: 15pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "\n"
    "padding:5px;\n"
    "\n"
    "")
            self.lineEdit_2.setAlignment(QtCore.Qt.AlignCenter)
            self.lineEdit_2.setObjectName("lineEdit_2")
            self.label_7 = QtWidgets.QLabel(self.groupBox)
            self.label_7.setGeometry(QtCore.QRect(10, 140, 81, 40))
            self.label_7.setObjectName("label_7")
            self.lineEdit_3 = QtWidgets.QLineEdit(self.groupBox)
            self.lineEdit_3.setGeometry(QtCore.QRect(110, 210, 221, 61))
            self.lineEdit_3.setLayoutDirection(QtCore.Qt.LeftToRight)
            self.lineEdit_3.setStyleSheet("\n"
    "border-radius:10px; \n"
    "color: rgb(0, 162, 0);\n"
    "font: 15pt \"MS Shell Dlg 2\";\n"
    "border:2px groove gray;\n"
    "\n"
    "padding:5px;\n"
    "\n"
    "")
            self.lineEdit_3.setAlignment(QtCore.Qt.AlignCenter)
            self.lineEdit_3.setObjectName("lineEdit_3")
            self.label_8 = QtWidgets.QLabel(self.groupBox)
            self.label_8.setGeometry(QtCore.QRect(10, 220, 91, 40))
            self.label_8.setObjectName("label_8")
            self.pushButton_4 = QtWidgets.QPushButton(self.groupBox)
            self.pushButton_4.setGeometry(QtCore.QRect(370, 60, 191, 101))
            font = QtGui.QFont()
            font.setFamily("MS Shell Dlg 2")
            font.setPointSize(25)
            font.setBold(False)
            font.setItalic(False)
            font.setWeight(50)
            self.pushButton_4.setFont(font)
            self.pushButton_4.setStyleSheet("QPushButton{\n"
    "background-color:rgb(229, 241, 251);\n"
    "border-radius:10px; \n"
    "font: 25pt \"MS Shell Dlg 2\";\n"
    "color: Green;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:hover{\n"
    "background-color: rgb(170, 255, 255);\n"
    "border-radius:10px; \n"
    "color: black;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "\n"
    "QPushButton:pressed{\n"
    "background-color: rgb(207, 254, 245);\n"
    "border-style: inset;\n"
    "border:2px groove gray;\n"
    "border-radius: 10px;\n"
    "}\n"
    "")
            self.pushButton_4.setObjectName("pushButton_4")
            self.label_6 = QtWidgets.QLabel(self.groupBox)
            self.label_6.setGeometry(QtCore.QRect(370, 210, 291, 51))
            self.label_6.setStyleSheet("color: rgb(255, 0, 0);\n"
    "font: 75 35pt \"Consolas\";")
            self.label_6.setObjectName("label_6")
            self.groupBox.raise_()
            self.label_2.raise_()
            self.label_3.raise_()
            self.label_4.raise_()
            self.label.raise_()
    
            self.retranslateUi(Form)
            self.pushButton_2.clicked.connect(Form.close)
            QtCore.QMetaObject.connectSlotsByName(Form)
    
        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Bee"))
            self.label.setText(_translate("Form", "Beep ..."))
            self.groupBox.setTitle(_translate("Form", "计时"))
            self.pushButton_2.setText(_translate("Form", "Exit"))
            self.lineEdit.setText(_translate("Form", "4"))
            self.label_5.setText(_translate("Form", "间隔时间M:"))
            self.lineEdit_2.setText(_translate("Form", "2"))
            self.label_7.setText(_translate("Form", "响铃时间S:"))
            self.lineEdit_3.setText(_translate("Form", "1000"))
            self.label_8.setText(_translate("Form", "响铃频率Hz:"))
            self.pushButton_4.setText(_translate("Form", "Start"))
            self.label_6.setText(_translate("Form", "00:00:000"))
    
    class Counter(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.ui = Ui_Form()
            self.ui.setupUi(self)
    
            self.ui.pushButton_4.clicked.connect(self.do_btn_start)
    
            self.ui.pushButton_2.clicked.connect(self.do_btn_exit)
            self.timer_true=False
            self.ui.label_6.setStyleSheet("color: rgb(134, 134, 134);\n""font: 75 35pt \"Consolas\";")
        #self.label_6.setStyleSheet("color: grey;\n""font: 75 35pt \"Consolas\";")
    
        # time.struct_time(tm_year=2022, tm_mon=3, tm_mday=1, tm_hour=16, tm_min=6, tm_sec=47, tm_wday=1, tm_yday=60, tm_isdst=0)
    
        def do_btn_start(self):
            cus_time=int(self.ui.lineEdit.text())
            ring_time=int(self.ui.lineEdit_2.text())
            ring_frequency=int(self.ui.lineEdit_3.text())
            self.ui.label_6.setStyleSheet("color: rgb(255, 0, 0);\n""font: 75 35pt \"Consolas\";")
    
            if self.timer_true==False:
                #print('1')
                self.timer_true=True
                time_start = time.time()
    
                while self.timer_true:
                    #print('2')
                    elapsed_time = time.time() - time_start
                    self.time_m = int(elapsed_time / 60)
                    self.time_s = int(elapsed_time - self.time_m * 60)
                    time_ms_1 = int((elapsed_time - self.time_s - self.time_m * 60) * 1000)
                    self.time_ms = int(('%2d' % time_ms_1))
    
                    last_time = ('%02d:%02d:%03d' % (self.time_m, self.time_s, self.time_ms))
                    #print(last_time)
                    #print(type(last_time))
                    self.ui.label_6.setText(last_time)
                    time.sleep(0.05)
                    QApplication.processEvents()
    
                    if self.time_m==cus_time:
                        winsound.Beep(ring_frequency, ring_time*1000)
                        self.timer_true = False
                        self.ui.label_6.setStyleSheet("color: rgb(0, 255, 0);\n""font: 75 35pt \"Consolas\";")
        def do_btn_exit(self):
            self.timer_true = False
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        form = Counter()
        form.show()
        sys.exit(app.exec_())
    View Code
  • 相关阅读:
    jQuery 动画之 添加商品到购物车
    <% %> 、 <%= %> 、<%# %> 的区别
    WebFrom模拟MVC
    MVC 基础
    LinQ to SQL 存储过程
    Leetcode练习(Python):数组类:第26题:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
    Leetcode练习(Python):数组类:第18题:给定一个包含&#160;n 个整数的数组&#160;nums&#160;和一个目标值&#160;target,判断&#160;nums&#160;中是否存在四个元素 a,b,c&#160;和 d&#160;,
    Leetcode练习(Python):数组类:第16题:给定一个包括&#160;n 个整数的数组&#160;nums&#160;和 一个目标值&#160;target。找出&#160;nums&#160;中的三个整数,使得它们的和与&#160;target&#160;最接近。返回这三个数的和。假定每组输入只存在唯一答案。
    Leetcode练习(Python):数组类:第15题:给你一个包含 n 个整数的数组&#160;nums,判断&#160;nums&#160;中是否存在三个元素 a,b,c ,使得&#160;a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。
    Leetcode练习(Python):数组类:第11题:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点&#160;(i,&#160;ai) 。在坐标内画 n 条垂直线,垂直线 i&#160;的两个端点分别为&#160;(i,&#160;ai) 和 (i, 0)。找出其中的两条线,使得它们与&#160;x&#160;轴共同构成的容器可以容纳最多的水。
  • 原文地址:https://www.cnblogs.com/passagain/p/15841218.html
Copyright © 2020-2023  润新知