*Python +Qt 实现simulator
本文介绍如何通过Python + Qt实现通过adb方式连接到手机,实时响应鼠标点击操作。
#encoding=UTF-8
import os
import sys
import re
import subprocess
import traceback
#from win32api import GetSystemMetrics
from win32api import GetSystemMetrics
from PyQt5.Qt import QApplication, QMainWindow, QWidget, QHBoxLayout,\
QVBoxLayout, QPushButton, QImage, QLabel, QPixmap, QPainter, QTimer, QPoint,\
Qt
import PyQt5
from PyQt5.QtWidgets import QCheckBox
screenshot_way = 0
timer_interval = 1000 #ms
g_scale = 1
debug_ui = True
screen_720p = (1920, 1080)
screen_1080p = (1920, 1080)
screen_2k = (2560, 1440)
screen_4k = (3840, 2160)
(KEYCODE_UNKNOWN, KEYCODE_MENU1, KEYCODE_SOFT_RIGHT, KEYCODE_HOME, KEYCODE_BACK) = (0, 1, 2, 3, 4)
(KEYCODE_CALL, KEYCODE_ENDCALL, KEYCODE_0, KEYCODE_1, KEYCODE_2) = (5, 6, 7, 8, 9)
(KEYCODE_3, KEYCODE_4, KEYCODE_5, KEYCODE_6, KEYCODE_7) = (10, 11, 12, 13, 14)
(KEYCODE_8, KEYCODE_9, KEYCODE_STAR, KEYCODE_POUND, KEYCODE_DPAD_UP) = (15, 16, 17, 18, 19)
(KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT, KEYCODE_DPAD_CENTER, KEYCODE_VOLUME_UP) = (20, 21, 22, 23, 24)
(KEYCODE_VOLUME_DOWN, KEYCODE_POWER, KEYCODE_CAMERA, KEYCODE_CLEAR, KEYCODE_A) = (25, 26, 27, 28, 29)
(KEYCODE_B, KEYCODE_C, KEYCODE_D, KEYCODE_E, KEYCODE_F) = (30, 31, 32, 33, 34)
(KEYCODE_G, KEYCODE_H, KEYCODE_I, KEYCODE_J, KEYCODE_K) = (35, 36, 37, 38, 39)
(KEYCODE_L, KEYCODE_M, KEYCODE_N, KEYCODE_O, KEYCODE_P) = (40, 41, 42, 43, 44)
(KEYCODE_Q, KEYCODE_R, KEYCODE_S, KEYCODE_T, KEYCODE_U) = (45, 46, 47, 48, 49)
(KEYCODE_V, KEYCODE_W, KEYCODE_X, KEYCODE_Y, KEYCODE_Z) = (50, 51, 52, 53, 54)
(KEYCODE_COMMA, KEYCODE_PERIOD, KEYCODE_ALT_LEFT, KEYCODE_ALT_RIGHT, KEYCODE_SHIFT_LEFT) = (55, 56, 57, 58, 59)
(KEYCODE_SHIFT_RIGHT, KEYCODE_TAB, KEYCODE_SPACE, KEYCODE_SYM, KEYCODE_EXPLORER) = (60, 61, 62, 63, 64)
(KEYCODE_ENVELOPE, KEYCODE_ENTER, KEYCODE_DEL, KEYCODE_GRAVE, KEYCODE_MINUS) = (65, 66, 67, 68, 69)
(KEYCODE_EQUALS, KEYCODE_LEFT_BRACKET, KEYCODE_RIGHT_BRACKET, KEYCODE_BACKSLASH, KEYCODE_SEMICOLON) = (70, 71, 72, 73, 74)
(KEYCODE_APOSTROPHE, KEYCODE_SLASH, KEYCODE_AT, KEYCODE_NUM, KEYCODE_HEADSETHOOK) = (75, 76, 77, 78, 79)
(KEYCODE_FOCUS, KEYCODE_PLUS, KEYCODE_MENU, KEYCODE_NOTIFICATION, KEYCODE_SEARCH) = (80, 81, 82, 83, 84)
def adbAvailable():
process = subprocess.Popen("adb devices", shell=True, stdout=subprocess.PIPE)
b_str = process.stdout.read()
b_str.replace(b'\r\

这篇博客探讨了如何结合Python和Qt技术来创建一个Simulator,它能通过ADB与手机连接,并且能够实时响应和处理鼠标点击事件。
最低0.47元/天 解锁文章
632

被折叠的 条评论
为什么被折叠?



