Skip to content

Commit 1e78e42

Browse files
committedDec 9, 2024·
初始化设置-获取设备列表
1 parent e8d8264 commit 1e78e42

File tree

9 files changed

+144
-3
lines changed

9 files changed

+144
-3
lines changed
 

‎.nicegui/storage-general.json

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"controller_type":"Adb","adb_path":"C:\\adb\\adb.exe","adb_address":"MQS7N19403030591","adb_config":"{}","hwnd":"","win32_screencap":4,"win32_input":1,"window_name":"","resource_dir":"H:\\AAAAAAAAAAAAAAAAAACode\\MaaForMhTemplate\\assets\\resource","task_entry":"点击商业总管"}

‎assets/resource/pipeline/my_task.json

+20-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
{
2-
"MyTask1": {},
3-
"MyTask2": {},
4-
"MyTask3": {}
2+
"点击进入游戏": {
3+
"recognition": "OCR",
4+
"expected": "声音和振动",
5+
"action": "Click",
6+
"next": [
7+
"自定义测试"
8+
]
9+
},
10+
"自定义测试": {
11+
"recognition": "Custom",
12+
"custom_recognition": "Init",
13+
"action": "Custom",
14+
"custom_action": "ClickBusManager"
15+
},
16+
"StartUpAndClickButton": {
17+
"recognition": "OCR",
18+
"expected": "声音和振动",
19+
"action": "Click",
20+
"next": []
21+
}
522
}

‎config/maa_option.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"logging": true,
3+
"recording": false,
4+
"save_draw": false,
5+
"show_hit_draw": false,
6+
"stdout_level": 2
7+
}

‎main.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# python -m pip install maafw
2+
import sys
3+
from PySide6 import QtCore, QtWidgets
4+
5+
from src.ui.main_window import MainWindow
6+
7+
def main():
8+
print("main")
9+
10+
if __name__ == "__main__":
11+
app = QtWidgets.QApplication(sys.argv) # 创建APP,将运行脚本时(可能的)的其他参数传给Qt以初始化
12+
widget = MainWindow() # 实例化一个MyWidget类对象
13+
widget.show() # 显示窗口
14+
sys.exit(app.exec()) # 正常退出APP:app.exec()关闭app,sys.exit()退出进程
15+

‎src/__init__.py

Whitespace-only changes.

‎src/service/__init__.py

Whitespace-only changes.

‎src/service/devices.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import random
2+
import sys
3+
import json
4+
from typing import Dict, Any
5+
from datetime import datetime
6+
7+
from maa.tasker import Tasker
8+
from maa.toolkit import Toolkit
9+
10+
class Devices():
11+
def get_all_devices(self) -> str:
12+
devices_list = Toolkit.find_adb_devices()
13+
# Convert each device to a dictionary and convert WindowsPath to string
14+
devices = [
15+
{
16+
"name": device.name,
17+
"adb_path": str(device.adb_path), # Convert WindowsPath to string
18+
"address": device.address,
19+
"screencap_methods": device.screencap_methods,
20+
"input_methods": device.input_methods,
21+
"config": device.config
22+
}
23+
for device in devices_list
24+
]
25+
return json.dumps(devices, indent=4)

‎src/ui/__init__.py

Whitespace-only changes.

‎src/ui/main_window.py

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import sys
2+
3+
# -*- coding: UTF-8 -*-
4+
from PySide6.QtWidgets import (
5+
QHBoxLayout, QGroupBox,QFrame,QComboBox,
6+
QTableWidget, QTextEdit,
7+
QSplitter, QHeaderView, QWidget, QVBoxLayout, QPushButton, QLabel,
8+
QSizePolicy
9+
)
10+
from PySide6.QtGui import QIcon
11+
from PySide6 import QtCore, QtWidgets
12+
from src.service.devices import Devices
13+
14+
class MainWindow(QWidget):
15+
def __init__(self):
16+
super().__init__()
17+
18+
self.hello = ["你好世界", "Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]
19+
self.resize(800, 600) # 设置大小
20+
self.setup_ui()
21+
22+
def setup_ui(self) -> None:
23+
"""设置界面"""
24+
25+
# 创建主布局
26+
main_layout = QVBoxLayout(self)
27+
main_layout.setSpacing(15)
28+
main_layout.setContentsMargins(20, 20, 20, 20)
29+
30+
# 下拉框和按钮组布局
31+
combo_layout = QHBoxLayout()
32+
self.combo_box = QComboBox()
33+
self.combo_box.setMinimumWidth(200)
34+
combo_layout.addWidget(self.combo_box)
35+
36+
# 刷新按钮
37+
self.refresh_btn = QPushButton()
38+
# self.refresh_btn.setIcon(QIcon('assets/icons/svg_icons/icon_search.svg'))
39+
self.refresh_btn.setFixedSize(30, 30)
40+
self.refresh_btn.setToolTip("刷新项目")
41+
self.refresh_btn.clicked.connect(self.refresh_items)
42+
combo_layout.addWidget(self.refresh_btn)
43+
44+
# 编辑按钮
45+
self.edit_btn = QPushButton()
46+
# self.edit_btn.setIcon(QIcon('assets/icons/svg_icons/icon_more_options.svg'))
47+
self.edit_btn.setFixedSize(30, 30)
48+
self.edit_btn.setToolTip("编辑项目")
49+
self.edit_btn.clicked.connect(self.edit_items)
50+
combo_layout.addWidget(self.edit_btn)
51+
52+
main_layout.addLayout(combo_layout)
53+
54+
# 分隔线
55+
line = QFrame()
56+
line.setFrameShape(QFrame.HLine)
57+
line.setFrameShadow(QFrame.Sunken)
58+
main_layout.addWidget(line)
59+
60+
# 添加按钮
61+
self.add_btn = QPushButton("添加")
62+
self.add_btn.setObjectName("addButton")
63+
self.add_btn.setFixedHeight(35)
64+
self.add_btn.clicked.connect(self.add_project)
65+
main_layout.addWidget(self.add_btn)
66+
67+
68+
def add_project(self):
69+
devicesStr = Devices().get_all_devices()
70+
print(devicesStr)
71+
72+
def edit_items(self):
73+
print("789")
74+
75+
def refresh_items(self):
76+
print("456")

0 commit comments

Comments
 (0)
Please sign in to comment.