feat: add NetEase desktop player source (1.2.2)
This commit is contained in:
1 parent
4d40b0bd6d
commit
1fccf2bed8
12 files changed
+2843
No files matched your search
+182
@@ -0,0 +1,182 @@
|
||||
"""视觉系统:深灰导航、暖白内容、克制的品牌红。"""
|
||||
|
||||
ACCENT = "#e6493f"
|
||||
INK = "#242322"
|
||||
MUTED = "#8b8882"
|
||||
PAPER = "#f7f6f3"
|
||||
|
||||
QSS = """
|
||||
* {
|
||||
font-family: "Segoe UI Variable Text", "Microsoft YaHei UI", "PingFang SC", sans-serif;
|
||||
color: #242322;
|
||||
font-size: 13px;
|
||||
}
|
||||
QMainWindow, #root { background: #f7f6f3; }
|
||||
QToolTip {
|
||||
background: #25262a; color: #f7f6f3; border: none; border-radius: 5px;
|
||||
padding: 5px 8px; font-size: 11px;
|
||||
}
|
||||
|
||||
/* 左侧导航 */
|
||||
#side { background: #1e1f23; }
|
||||
#brandName { color: #f7f6f3; font-size: 14px; font-weight: 650; }
|
||||
#brandSub { color: #777981; font-size: 9px; letter-spacing: 1.4px; }
|
||||
#sideSection { color: #70727a; font-size: 10px; font-weight: 600; }
|
||||
QPushButton#nav {
|
||||
color: #a9abb2; background: transparent; border: none; border-radius: 8px;
|
||||
text-align: left; padding-left: 12px; min-height: 40px; max-height: 40px;
|
||||
font-size: 13px;
|
||||
}
|
||||
QPushButton#nav:hover { color: #f3f3f4; background: #28292e; }
|
||||
QPushButton#nav[active="true"] { color: #ffffff; background: #323338; font-weight: 600; }
|
||||
QPushButton#clearBtn { color: #777981; border: none; background: transparent; font-size: 11px; }
|
||||
QPushButton#clearBtn:hover { color: #f0f0f1; }
|
||||
QListWidget#queue { background: transparent; border: none; outline: none; }
|
||||
QListWidget#queue::item {
|
||||
color: #9698a0; border: none; border-radius: 7px; padding: 0 8px; height: 44px;
|
||||
}
|
||||
QListWidget#queue::item:hover { background: #28292e; color: #e7e7e9; }
|
||||
QListWidget#queue::item:selected { background: #303137; color: #f3f3f4; }
|
||||
#queueEmpty { color: #62646c; font-size: 11px; }
|
||||
#versionLabel { color: #666871; font-size: 9.5px; letter-spacing: .4px; }
|
||||
QPushButton#versionBtn {
|
||||
color: #8b8d95; background: transparent; border: none; border-radius: 5px;
|
||||
padding: 0 5px; min-height: 24px; font-size: 10px;
|
||||
}
|
||||
QPushButton#versionBtn:hover { color: #f0f0f1; background: #2a2b30; }
|
||||
QPushButton#versionBtn[ready="true"] { color: #f27770; font-weight: 600; }
|
||||
|
||||
/* 主内容 */
|
||||
#main { background: #f7f6f3; }
|
||||
#pageEyebrow { color: #a29e97; font-size: 10px; font-weight: 600; letter-spacing: 1.6px; }
|
||||
#pageTitle { color: #242322; font-size: 27px; font-weight: 700; letter-spacing: -0.6px; }
|
||||
#pageMeta { color: #8b8882; font-size: 12px; }
|
||||
QPushButton#textBtn {
|
||||
color: #625f5a; background: transparent; border: 1px solid #dfdcd6;
|
||||
border-radius: 8px; min-height: 32px; max-height: 32px; padding: 0 13px; font-size: 12px;
|
||||
}
|
||||
QPushButton#textBtn:hover { color: #242322; background: #fffefa; border-color: #cfcbc4; }
|
||||
QPushButton#accent {
|
||||
color: #ffffff; background: #e6493f; border: none; border-radius: 8px;
|
||||
min-height: 34px; max-height: 34px; padding: 0 16px; font-size: 12px; font-weight: 600;
|
||||
}
|
||||
QPushButton#accent:hover { background: #d93e35; }
|
||||
QPushButton#iconBtn { background: transparent; border: none; border-radius: 8px; }
|
||||
QPushButton#iconBtn:hover { background: #e9e6e1; }
|
||||
QPushButton#iconBtn:pressed { background: #dfdcd6; }
|
||||
QPushButton#iconBtn[tone="dark"]:hover { background: #2c2d32; }
|
||||
QPushButton#playBtn { background: #e6493f; border: none; border-radius: 21px; }
|
||||
QPushButton#playBtn:hover { background: #d93e35; }
|
||||
QPushButton#playBtn:pressed { background: #c9372f; }
|
||||
|
||||
/* 榜单:色块而不是泛白卡片 */
|
||||
QPushButton#chartCard {
|
||||
background: #eeece8; border: 1px solid transparent; border-radius: 14px; text-align: left;
|
||||
}
|
||||
QPushButton#chartCard:hover { background: #e8e4de; border-color: #ddd8d0; }
|
||||
QPushButton#chartCard:pressed { background: #e2ddd6; }
|
||||
#chartName { font-size: 17px; font-weight: 650; color: #2c2a27; }
|
||||
#chartMeta { font-size: 11px; color: #8d8880; }
|
||||
#chartIndex { font-size: 11px; color: #aaa49b; font-weight: 600; }
|
||||
|
||||
/* 搜索 */
|
||||
QLineEdit#search {
|
||||
min-height: 40px; max-height: 40px; background: #fffefa; color: #242322;
|
||||
border: 1px solid #e1ded8; border-radius: 10px; padding: 0 14px; font-size: 13px;
|
||||
selection-background-color: #f3c5c1;
|
||||
}
|
||||
QLineEdit#search:focus { border-color: #bdb7ae; background: #ffffff; }
|
||||
QLineEdit#search::placeholder { color: #aaa69f; }
|
||||
|
||||
/* 歌曲表格 */
|
||||
QTableWidget {
|
||||
background: transparent; border: none; outline: none; gridline-color: transparent;
|
||||
selection-background-color: #ebe8e3; selection-color: #242322; font-size: 13px;
|
||||
}
|
||||
QTableWidget::item { border: none; border-bottom: 1px solid #ece9e4; padding-left: 6px; }
|
||||
QHeaderView::section {
|
||||
background: #f7f6f3; color: #9b978f; border: none; border-bottom: 1px solid #e4e0da;
|
||||
font-size: 10px; font-weight: 600; height: 32px; padding-left: 8px;
|
||||
}
|
||||
#emptyTitle { color: #5e5a54; font-size: 16px; font-weight: 600; }
|
||||
#emptyMeta { color: #9b978f; font-size: 12px; }
|
||||
QProgressBar#emptyProgress {
|
||||
border: none; border-radius: 2px; background: #e9e5df;
|
||||
}
|
||||
QProgressBar#emptyProgress::chunk { background: #e6493f; border-radius: 2px; }
|
||||
|
||||
/* 底部播放栏 */
|
||||
#bar { background: #fffefa; border-top: 1px solid #e7e3dd; }
|
||||
#barName { font-size: 13px; font-weight: 650; color: #2c2a27; }
|
||||
#barArtist { font-size: 11px; color: #918d85; }
|
||||
#barHint { color: #b0aba3; font-size: 10px; }
|
||||
#barPlaylist {
|
||||
color: #aaa49b; font-size: 9.5px; letter-spacing: .02em;
|
||||
background: transparent;
|
||||
}
|
||||
#timeLabel { color: #9b978f; font-size: 10px; font-family: "Segoe UI", sans-serif; }
|
||||
QSlider::groove:horizontal { height: 4px; background: #e8e4de; border-radius: 2px; }
|
||||
QSlider::sub-page:horizontal { height: 4px; background: #e6493f; border-radius: 2px; }
|
||||
QSlider::handle:horizontal {
|
||||
width: 12px; height: 12px; margin: -4px 0; border-radius: 6px;
|
||||
background: #fffefa; border: 2px solid #e6493f;
|
||||
}
|
||||
QSlider::handle:horizontal:hover { background: #e6493f; }
|
||||
QSlider#vol::groove:horizontal { height: 3px; }
|
||||
QSlider#vol::sub-page:horizontal { background: #77736c; height: 3px; }
|
||||
QSlider#vol::handle:horizontal { width: 10px; height: 10px; border-radius: 5px; border: 1px solid #8b8780; }
|
||||
QComboBox {
|
||||
min-height: 28px; max-height: 28px; border: 1px solid #e0dcd5; border-radius: 7px;
|
||||
background: transparent; color: #6d6962; padding: 0 8px; font-size: 11px;
|
||||
}
|
||||
QComboBox:hover { background: #f3f0eb; border-color: #cec9c0; }
|
||||
QComboBox::drop-down { border: none; width: 16px; }
|
||||
QComboBox QAbstractItemView {
|
||||
background: #fffefa; border: 1px solid #dfdcd6; outline: none; padding: 4px;
|
||||
selection-background-color: #eeeae4; selection-color: #242322;
|
||||
}
|
||||
|
||||
/* 导入歌单 */
|
||||
#importCard { background:#fffefa; border:1px solid #e4dfd8; border-radius:16px; }
|
||||
#importTitle { color:#22211f; font-size:19px; font-weight:700; }
|
||||
#importSub { color:#8d8880; font-size:12px; }
|
||||
#importInput {
|
||||
min-height:42px; max-height:42px; background:#f8f5f0; color:#242322;
|
||||
border:1px solid #e1dcd4; border-radius:9px; padding:0 13px; font-size:12.5px;
|
||||
selection-background-color:#f3c5c1;
|
||||
}
|
||||
#importInput:focus { background:#fffefa; border-color:#bdb6ab; }
|
||||
#importHint { color:#aaa49b; font-size:10.5px; }
|
||||
#importError { color:#c83b32; font-size:11px; }
|
||||
QPushButton#importCancel {
|
||||
background:transparent; border:1px solid #e0dcd5; border-radius:8px;
|
||||
min-height:36px; color:#6d6962; font-size:12px; padding:0 18px;
|
||||
}
|
||||
QPushButton#importCancel:hover { background:#f3f0eb; color:#242322; }
|
||||
QPushButton#importGo {
|
||||
background:#e6493f; border:none; border-radius:8px; min-height:36px;
|
||||
color:#fff; font-size:12px; font-weight:600; padding:0 20px;
|
||||
}
|
||||
QPushButton#importGo:hover { background:#d93e35; }
|
||||
QPushButton#importGo:disabled { background:#e8e4de; color:#aaa59c; }
|
||||
|
||||
/* 全屏播放 */
|
||||
#fs { background: #f3f1ed; }
|
||||
#fsEyebrow { color: #a39e95; font-size: 10px; letter-spacing: 1.5px; font-weight: 600; }
|
||||
#fsName { color: #272521; font-size: 20px; font-weight: 700; letter-spacing: -0.3px; }
|
||||
#fsArtist { color: #8e8981; font-size: 12px; }
|
||||
#lyricViewport { background: transparent; border: none; }
|
||||
#LyricView, #lyricContent { background: transparent; border: none; }
|
||||
#fsControl { background: transparent; }
|
||||
|
||||
/* 滚动条 */
|
||||
QScrollBar:vertical { background: transparent; width: 8px; margin: 2px; }
|
||||
QScrollBar::handle:vertical { background: #d5d0c8; border-radius: 4px; min-height: 36px; }
|
||||
QScrollBar::handle:vertical:hover { background: #bdb7ae; }
|
||||
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0; }
|
||||
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: transparent; }
|
||||
QScrollBar:horizontal { height: 8px; background: transparent; }
|
||||
QScrollBar::handle:horizontal { background: #d5d0c8; border-radius: 4px; }
|
||||
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0; }
|
||||
#side QScrollBar::handle:vertical { background: #424349; }
|
||||
"""
|
||||
Reference in new issue
Block a user