diff --git a/app/ui/Widget.py b/app/ui/Widget.py
index 315d18f..9a2eef8 100644
--- a/app/ui/Widget.py
+++ b/app/ui/Widget.py
@@ -25,7 +25,14 @@ v4.2
作者:DLmaster_361
"""
-from PySide6.QtWidgets import QWidget, QWidget, QLabel, QHBoxLayout, QSizePolicy
+from PySide6.QtWidgets import (
+ QWidget,
+ QWidget,
+ QLabel,
+ QHBoxLayout,
+ QVBoxLayout,
+ QSizePolicy,
+)
from PySide6.QtCore import Qt, QTime, QTimer, QEvent, QSize
from PySide6.QtGui import QIcon, QPixmap, QPainter, QPainterPath
from qfluentwidgets import (
@@ -54,12 +61,18 @@ from qfluentwidgets import (
ExpandSettingCard,
ToolButton,
PushButton,
+ PrimaryPushButton,
ProgressRing,
+ TextBrowser,
+ HeaderCardWidget,
)
from qfluentwidgets.common.overload import singledispatchmethod
import os
+import re
+import markdown
from urllib.parse import urlparse
-from typing import Optional, Union, List
+from functools import partial
+from typing import Optional, Union, List, Dict
from app.services import Crypto
@@ -155,6 +168,87 @@ class ProgressRingMessageBox(MessageBoxBase):
self.timer.deleteLater()
+class NoticeMessageBox(MessageBoxBase):
+ """公告对话框"""
+
+ def __init__(self, parent, content: Dict[str, str]):
+ super().__init__(parent)
+
+ self.index = self.NoticeIndexCard(content, self)
+ self.text = TextBrowser(self)
+ self.text.setOpenExternalLinks(True)
+ self.button = PrimaryPushButton("确认", self)
+
+ self.buttonGroup.hide()
+
+ self.v_layout = QVBoxLayout()
+ self.v_layout.addWidget(self.text)
+ self.v_layout.addWidget(self.button)
+
+ self.h_layout = QHBoxLayout()
+ self.h_layout.addWidget(self.index)
+ self.h_layout.addLayout(self.v_layout)
+ self.h_layout.setStretch(0, 1)
+ self.h_layout.setStretch(1, 3)
+
+ # 将组件添加到布局中
+ self.viewLayout.addLayout(self.h_layout)
+ self.widget.setFixedSize(800, 600)
+
+ self.index.index_changed.connect(self.__update_text)
+ self.button.clicked.connect(self.yesButton.click)
+ self.index.index_cards[0].clicked.emit()
+
+ def __update_text(self, text: str):
+
+ html = markdown.markdown(text).replace("\n", "")
+ html = re.sub(
+ r"(.*?)",
+ r"\1",
+ html,
+ )
+ html = re.sub(r"
(.*?)
◆ \1
", html) + html = re.sub(r"