我的tkinter學習筆記3
- 2020 年 4 月 7 日
- 筆記
這邊就上面的知識,進行一個小工具開發。主要實現功能有快速查看設備名、包名和Activity.具體看實現的代碼
#coding:utf-8 from tkinter import * import tkinter as tk import os root = Tk() root.title('獲取APP應用小工具') # 按扭調用的函數, def get_devices(): lists = (os.popen('adb devices').read()) devices = (lists.strip().split('n')) devices_list = [] for i in range(1, len(devices)): device = (devices[i].split('t')[0]) devices_list.append(device) if devices_list: # 通過判斷列表是否為真(有數據),說明獲取設備序列號成功 return devices_list[0] else: return "沒有發現設備,請檢查設備是否連接電腦!" def get_packy(): # adb shell dumpsys window w |findstr / |findstr name= zhi = (os.popen('adb shell dumpsys window w |findstr / |findstr name=').read()) d = (zhi.strip().split('n')) pack = d[0].split('=')[-1] print(pack) package = pack.split('/')[0] # print(package) return package def get_activity(): zhi = (os.popen('adb shell dumpsys window w |findstr / |findstr name=').read()) d = (zhi.strip().split('n')) act = d[0].split('=')[-1] print(act) activity = act.split('/')[1] a = activity.replace(')','') print(a) return a def huoqu_activity(): result3 = get_activity() print(result3) v3.set(str(result3)) global root e3 = tk.Entry(root, text=v3, state="readonly") e3.pack(side=LEFT) def huoqu_package(): result2 = get_packy() print(result2) v2.set(str(result2)) global root e2 = tk.Entry(root, text=v2, state="readonly") e2.pack(side=LEFT) def huoqu_name(): result = get_devices() print(result) v1.set(str(result)) global root e1 = tk.Entry(root, text=v1, state="readonly") e1.pack(side=LEFT) tk.Label(root, text="device_name:").grid(row=0, column=0,sticky=W) # 位於第0行,第0列 tk.Label(root, text="package:").grid(row=1, column=0, sticky=W) # 位於第1行,第0列 tk.Label(root, text="Activity:").grid(row=2, column=0, sticky=W) # 位於第1行,第0列 v1 = tk.StringVar() v2 = tk.StringVar() v3 = tk.StringVar() e1 = tk.Entry(root, textvariable=v1, state="readonly", width=50) e2 = tk.Entry(root, textvariable=v2, state="readonly", width=50) e3 = tk.Entry(root, textvariable=v3, state="readonly", width=50) e1.grid(row=0, column=1, padx=10, pady=5) # 位於第0行,第1列 e2.grid(row=1, column=1, padx=10, pady=5) # 位於第1行,第1列 e3.grid(row=2, column=1, padx=10, pady=5) # 位於第1行,第1列 # 第三行登陸按扭,command綁定事件 B_1 = Button(root, text='獲取設備名稱', command=huoqu_name).grid(row=0,column=2,sticky=tk.E) B_2 = Button(root, text='獲取包名', command=huoqu_package).grid(row=1,column=2,sticky=tk.E) B_3 = Button(root, text='獲取Activity', command=huoqu_activity).grid(row=2,column=2,sticky=tk.E) # b_login = Button(root, text='獲取設備信息', command=huoqu_name) # b_login.grid(row=3, column=1, sticky=E) tk.Button(root,text="退出", command=root.quit) .grid(row=3,column=2,sticky = tk.E) root.mainloop()
運行結果

