第一代的脚本可以跑起来实现了基本需求,只是无界面看着不好看,功能单一,模拟点击的位置还需要手动修改,换个手机(分辨率不同)做脚就得重新设定了, 比较麻烦。
新的需求:
1、有个界面。可以以判断手机是否已连接上线。
2、可以自动生成所需数据。
3、任意手机可以正常使用,不用修改脚本文件。
4、操作后可自动能判断是否添加成功。
本期重点是添加界面,我使用的是tkinter 第一次使用,也不知道哪个好用,用这试试看吧。
1、首先是pip安装了, 这个就不多说了。
2、创建一个界面的类,实例化界面。
from tkinter import *
from tkinter import ttk
class Calculator:
def __init__(self, pwindow):
self.pwindow = pwindow
self.init_pwindow()
def init_pwindow(self):
pass
if __name__ == '__main__':
parent_window = Tk()
Calculator(parent_window) #实例化
parent_window.mainloop()
3、界面组件添加编辑 (pass 修改)
self.pwindow.title('*****操控助手V.1.1') # 窗口名
self.pwindow.geometry('700x650') # 设置窗口的大小以及在屏幕上的位置
#锁定长宽
self.pwindow.resizable(width=False, height=False)
4、添加label 用于描述手机与电脑端(adb)连接方法
#连接手机方法
self.label1 = Label(self.pwindow,width=50,anchor="w",text = "1、设置-手机-连续点击版本号7次-输入密码即可")
self.label1.place(x=10,y=5) #在窗口显示的位置
self.label1 = Label(self.pwindow,width=50,anchor="w",text = "2、设置-系统和更新-开发人员选项-调试")
self.label1.place(x=10,y=25) #在窗口显示的位置
self.label1 = Label(self.pwindow,width=50,anchor="w",text = "3、勾选仅充电模式下允许ADB调试")
self.label1.place(x=10,y=45) #在窗口显示的位置
self.label1 = Label(self.pwindow,width=50,anchor="w",text = "4、选择USB调试")
self.label1.place(x=10,y=65) #在窗口显示的位置
self.label1 = Label(self.pwindow,width=70,anchor="w",text = "5、如果还是无法连接,找到USB配置-选择RNDIS(USB 以太网)")
self.label1.place(x=10,y=85) #在窗口显示的位置
5、创建连接按钮button及连接手机的对话框text
#连接按钮
self.button_1 = Button(self.pwindow,width=10, text="连接测试", bg="yellow",command=self.Connectiphone)
self.button_1.place(x=600,y=25)
#对话框
self.text_1 = Text(self.pwindow, width=30, heigh=5)
self.text_1.place(x=380,y=10)
6、创建自动添加数据选项,时间范围,数据范围
self.label1 = Label(self.pwindow,width=15,text = "小时")
self.label1.place(x=470,y=170)
self.label2 = Label(self.pwindow,width=15,text = "分钟")
self.label2.place(x=570,y=170)
self.label3 = Label(self.pwindow,width=15,text = "开始时间")
self.label3.place(x=410,y=190)
self.label4 = Label(self.pwindow,width=15,text = "结束时间")
self.label4.place(x=410,y=220)
self.label5 = Label(self.pwindow,width=15,text = "数据1范围")
self.label5.place(x=410,y=250)
self.label6 = Label(self.pwindow,width=10,text = "<")
self.label6.place(x=540,y=250)
self.label7 = Label(self.pwindow,width=15,text = "数据2范围")
self.label7.place(x=410,y=280)
self.label8 = Label(self.pwindow,width=10,text = "<")
self.label8.place(x=540,y=280)
self.button_2 = Button(self.pwindow,width=15, text="自动生成数据", bg="yellow",command=self.rand_num)
self.button_2.place(x=480,y=390)
#开始时间 小时
self.Thour1 = ttk.Combobox(self.pwindow,width = 5)
self.Thour1.pack()
self.Thour1["value"] = ("00","01","02","03","04","05","06",\
"07","08","09","10","11","12",\
"13","14","15","16","17","18",\
"19","20","21","22","23")
self.Thour1.current(9)
self.Thour1.place(x=500,y=190)
#开始时间 分钟
self.Tmin1 = ttk.Combobox(self.pwindow,width = 5)
self.Tmin1.pack()
self.Tmin1["value"] = ("00","05","10","15","20","25",\
"30","35","40","45","50","55")
self.Tmin1.current(0)
self.Tmin1.place(x=600,y=190)
#结束时间 小时
self.Thour2 = ttk.Combobox(self.pwindow,width = 5)
self.Thour2.pack()
self.Thour2["value"] = ("00","01","02","03","04","05","06",\
"07","08","09","10","11","12",\
"13","14","15","16","17","18",\
"19","20","21","22","23")
self.Thour2.current(10)
self.Thour2.place(x=500,y=220)
#结束时间 分钟
self.Tmin2 = ttk.Combobox(self.pwindow,width = 5)
self.Tmin2.pack()
self.Tmin2["value"] = ("00","05","10","15","20","25",\
"30","35","40","45","50","55")
self.Tmin2.current(0)
self.Tmin2.place(x=600,y=220)
#数据1范围 min
self.wendu1 = ttk.Combobox(self.pwindow,width = 5)
self.wendu1.pack()
self.wendu1["value"] = ("2.0","3.0","4.0","5.0","6.0","7.0","8.0")
self.wendu1.current(0)
self.wendu1.place(x=500,y=250)
#数据1范围 max
self.wendu2 = ttk.Combobox(self.pwindow,width = 5)
self.wendu2.pack()
self.wendu2["value"] = ("2.0","3.0","4.0","5.0","6.0","7.0","8.0")
self.wendu2.current(6)
self.wendu2.place(x=600,y=250)
#数据2范围 min
self.shidu1 = ttk.Combobox(self.pwindow,width = 5)
self.shidu1.pack()
self.shidu1["value"] = ("35","40","45","50","55","60","65","70","75")
self.shidu1.current(0)
self.shidu1.place(x=500,y=280)
#数据2范围 max
self.shidu2 = ttk.Combobox(self.pwindow,width = 5)
self.shidu2.pack()
self.shidu2["value"] = ("35","40","45","50","55","60","65","70","75")
self.shidu2.current(8)
self.shidu2.place(x=600,y=280)
7、最重要的就是添加数据启动开关了
self.button_2 = Button(self.pwindow,width=15, text="自动生成数据", bg="yellow",command=self.rand_num)
self.button_2.place(x=480,y=390)
self.label9 = Label(self.pwindow,width=15,text = "选择数据来源:")
self.label9.place(x=430,y=450)
self.label10 = Label(self.pwindow,width=15,text = "选择添加数据:")
self.label10.place(x=430,y=480)
self.button_3 = Button(self.pwindow,width=12,text="查看数据", bg="yellow" ,command=self.look_data)
self.button_3.place(x=440,y=520)
self.button_4 = Button(self.pwindow,width=12,text="开始添加", bg="yellow" ,command=self.add_data)
self.button_4.place(x=550,y=520)
最后,界面就是这个样子(先走着,后面再美化)
本期就到这里,