Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton

标题 Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton

本程序猿初学Python,分享下学习心得,供大家交流学习

摘要:
1、PyQt5 点击PushButton实现循环按下键盘按键A功能
2、Python Class类语法学习
3、PyQt5多线程功能实现学习

开始:
Phthon3.7.6+PyCharm2019.3.3+PyQt5这3个工具的安装和环境配置就不详细介绍了,可以自行问万能的度娘

在新建的PyCharm2019.3.3 Project中打开PyQt5如下图:菜单栏Tools—External Tools—QtDesigner
注意:PyCharm怎么新建Project以及QtDesigner、PyUIC、PyRcc怎么配置自行问度娘
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第1张图片
在打开PyQt5的界面里选择Widget,点击Create
Dialog、Main Window、Widget的区别可自行度娘
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第2张图片
将Push Button拖放进Form中
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第3张图片
双击Form中的2个PushButton,将名字修改为AutoPress和StopAction,点击保存为QtForm.ui
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第4张图片
此时保存后,在Pycharm Project下就会显示生成的QtForm.ui,目前没有对这2个PushButton做任何Connect操作动作,后面会进行操作
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第5张图片
在QtForm.ui上右击选择External Tools—PyUIC生成QtForm.py文件
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第6张图片
双击QtForm.py,可以看到生成的Python代码,后面会用到QtForm.py
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第7张图片
在PyCharm中新建一个KeyBoard.py的Phthon文件,作为我们工程的主文件
在菜单栏选择File–New
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第8张图片
在弹出的New对话框中的File Templates下选择Python File
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第9张图片
在弹出的New Python file对话框中输入KeyBoard,按回车完成KeyBoard.py的创建
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第10张图片
下面开始,在KeyBoard.py中进行Python代码设计,实现PushButton的功能
KeyBoard.py的源代码贴在这里,有兴趣的童鞋可以试试,很带劲的
各位童鞋可以对Python语法的Class类好好学习研究一下以及PyQt5的多线程学习
#KeyBoard.py

import sys
import time
import win32api
import win32con
from pykeyboard import *

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from QtForm import *


class KbMain(QWidget, Ui_Form):

    def __init__(self):
        super(KbMain, self).__init__()
        self.init_ui()

    def init_ui(self):
        self.setupUi(self)
        self.pushButton.setCheckable(True)
        self.pushButton_2.setCheckable(True)
        self.pushButton.clicked.connect(self.press_a)
        self.pushButton_2.clicked.connect(self.stoppress_a)
        self.my_thread = MyThread()

    def press_a(self):
        self.my_thread.active = True
        self.my_thread.start()

    def stoppress_a(self):
        self.my_thread.active = False


class MyThread(QThread):
    def __init__(self):
        super(MyThread, self).__init__()
        self.active = False

    def run(self):
        while self.active:
            win32api.keybd_event(65, 0, 0, 0)  # A键位码是65
            win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
            self.sleep(2)


if __name__ == '__main__':
    myApp = QApplication(sys.argv)
    myMain = KbMain()
    myMain.show()
    sys.exit(myApp.exec_())


运行效果图如下
Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton_第11张图片
亲测有效,欢迎交流学习心得
本学习笔记仅用于学习交流,记得给个赞

你可能感兴趣的:(Phthon3.7.6+PyCharm2019.3.3+PyQt5 PushButton)