优化脚本仪表盘排版
可以直接在仪表盘里面开关用户状态了
This commit is contained in:
@@ -47,8 +47,9 @@ from qfluentwidgets import (
|
||||
PushSettingCard,
|
||||
TableWidget,
|
||||
PrimaryToolButton,
|
||||
SwitchButton,
|
||||
)
|
||||
from PySide6.QtCore import Signal
|
||||
from PySide6.QtCore import Signal,Qt
|
||||
from datetime import datetime
|
||||
from functools import partial
|
||||
from pathlib import Path
|
||||
@@ -1162,6 +1163,12 @@ class MemberManager(QWidget):
|
||||
Config.PASSWORD_refreshed.connect(self.load_info)
|
||||
|
||||
def load_info(self):
|
||||
# 使用闭包工厂函数捕获当前config:
|
||||
def create_handler(config_obj):
|
||||
def handler(checked):
|
||||
# 使用配置项的set方法自动触发信号
|
||||
config_obj.set(config_obj.Info_Status, checked)
|
||||
return handler
|
||||
|
||||
self.user_data = Config.member_dict[self.name]["UserData"]
|
||||
|
||||
@@ -1170,6 +1177,7 @@ class MemberManager(QWidget):
|
||||
for name, info in self.user_data.items():
|
||||
|
||||
config = info["Config"]
|
||||
handler = create_handler(config)
|
||||
|
||||
text_list = []
|
||||
if not config.get(config.Data_IfPassCheck):
|
||||
@@ -1190,6 +1198,7 @@ class MemberManager(QWidget):
|
||||
else "本周剿灭未完成"
|
||||
)
|
||||
|
||||
# 跳转按钮
|
||||
button = PrimaryToolButton(
|
||||
FluentIcon.CHEVRON_RIGHT, self
|
||||
)
|
||||
@@ -1198,6 +1207,15 @@ class MemberManager(QWidget):
|
||||
partial(self.switch_to.emit, name)
|
||||
)
|
||||
|
||||
# 状态开关
|
||||
switch_button = SwitchButton()
|
||||
switch_button.setOffText("")
|
||||
switch_button.setOnText("")
|
||||
switch_button.setChecked(True if config.get(config.Info_Status)
|
||||
and config.get(config.Info_RemainedDay) != 0 else False )# 初始化开关状态
|
||||
# 将开关的bool同步
|
||||
switch_button.checkedChanged.connect(handler)
|
||||
|
||||
self.dashboard.setItem(
|
||||
int(name[3:]) - 1,
|
||||
0,
|
||||
@@ -1220,15 +1238,10 @@ class MemberManager(QWidget):
|
||||
else "******"
|
||||
),
|
||||
)
|
||||
self.dashboard.setItem(
|
||||
int(name[3:]) - 1,
|
||||
3,
|
||||
QTableWidgetItem(
|
||||
"启用"
|
||||
if config.get(config.Info_Status)
|
||||
and config.get(config.Info_RemainedDay) != 0
|
||||
else "禁用"
|
||||
),
|
||||
self.dashboard.setCellWidget(
|
||||
int(name[3:]) - 1,
|
||||
3,
|
||||
switch_button
|
||||
)
|
||||
self.dashboard.setItem(
|
||||
int(name[3:]) - 1,
|
||||
|
||||
Reference in New Issue
Block a user