Maziang 6 months ago
parent 2185df2667
commit 9bd8fd220d

@ -95,8 +95,10 @@ def main():
# 创建QApplication实例
app = QApplication(sys.argv)
# 设置应用程序样式为Windows风格更接近Word界面
app.setStyle('WindowsVista')
# 在macOS上使用系统原生样式在其他平台上使用WindowsVista样式
if platform.system() != "Darwin": # 不是macOS系统
# 设置应用程序样式为Windows风格更接近Word界面
app.setStyle('WindowsVista')
# 设置应用程序属性
app.setApplicationName("MagicWord")

@ -153,99 +153,100 @@ class ThemeManager(QObject):
return self._get_light_stylesheet()
def _get_dark_stylesheet(self):
"""深色主题样式表 - 现代极简暗色风格"""
"""深色主题样式表 - Apple设计风格"""
return """
/* 现代极简暗色主题样式 */
/* Apple设计风格深色主题样式 */
/* 全局文字颜色和字体 - 现代字体 */
/* 全局文字颜色和字体 - 使用Apple系统字体 */
QWidget {
color: #e2e8f0;
font-family: 'Inter', 'SF Pro Display', 'Microsoft YaHei', '微软雅黑', sans-serif;
color: #f0f0f0;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-size: 13px;
}
/* 主窗口 - 色背景 */
/* 主窗口 - Apple深色背景 */
QMainWindow {
background-color: #1a202c;
background-color: #2c2c2e;
}
/* 菜单栏 - 极简暗色风格 */
/* 菜单栏 - Apple深色风格 */
QMenuBar {
background-color: #1a202c;
background-color: #2c2c2e;
border: none;
border-bottom: 1px solid #2d3748;
font-size: 14px;
color: #e2e8f0;
padding: 8px 0;
border-bottom: 1px solid #404040;
font-size: 13px;
color: #f0f0f0;
padding: 4px 0;
}
QMenuBar::item {
background-color: transparent;
padding: 8px 16px;
color: #a0aec0;
border-radius: 6px;
margin: 0 2px;
padding: 6px 12px;
color: #f0f0f0;
border-radius: 4px;
margin: 0 1px;
}
QMenuBar::item:selected {
background-color: #2d3748;
color: #e2e8f0;
background-color: #404040;
color: #f0f0f0;
}
QMenuBar::item:pressed {
background-color: #4a5568;
color: #e2e8f0;
background-color: #505050;
color: #f0f0f0;
}
/* 菜单 - 极简暗色风格 */
/* 菜单 - Apple深色风格 */
QMenu {
background-color: #2d3748;
border: 1px solid #4a5568;
border-radius: 12px;
font-size: 14px;
color: #e2e8f0;
padding: 8px 0;
margin: 4px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
background-color: #2c2c2e;
border: 1px solid #404040;
border-radius: 8px;
font-size: 13px;
color: #f0f0f0;
padding: 4px 0;
margin: 2px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
QMenu::item {
padding: 10px 20px;
color: #a0aec0;
color: #f0f0f0;
background-color: transparent;
border-radius: 6px;
margin: 0 8px;
border-radius: 4px;
margin: 0 4px;
padding: 4px 20px;
}
QMenu::item:selected {
background-color: #4a5568;
color: #e2e8f0;
background-color: #0a84ff;
color: #ffffff;
}
QMenu::item:pressed {
background-color: #718096;
background-color: #0066cc;
color: #ffffff;
}
QMenu::separator {
height: 1px;
background-color: #4a5568;
margin: 8px 16px;
background-color: #404040;
margin: 4px 8px;
}
/* 功能区 */
QFrame {
background-color: #2d2d2d;
border: 1px solid #3c3c3c;
background-color: #2c2c2e;
border: none;
}
/* 组框 */
QGroupBox {
font-size: 11px;
font-size: 12px;
font-weight: normal;
color: #e0e0e0;
background-color: #2d2d2d;
border: 1px solid #3c3c3c;
border-radius: 0px;
color: #f0f0f0;
background-color: #2c2c2e;
border: none;
border-radius: 8px;
margin-top: 5px;
padding-top: 5px;
}
@ -254,198 +255,235 @@ class ThemeManager(QObject):
subcontrol-origin: margin;
left: 10px;
padding: 0 5px 0 5px;
color: #e0e0e0;
color: #a0a0a0;
}
/* 工具按钮 - 现代极简风格 */
/* 工具按钮 - Apple深色风格 */
QToolButton {
background-color: transparent;
border: 1px solid transparent;
border-radius: 8px;
padding: 8px 12px;
color: #4a5568;
font-family: 'Inter', 'SF Pro Display', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-weight: 500;
border-radius: 6px;
background-color: #3a3a3c;
font-size: 13px;
color: #f0f0f0;
padding: 6px 12px;
}
QToolButton:hover {
background-color: #f7fafc;
border: 1px solid #e2e8f0;
background-color: #4a4a4c;
border: 1px solid #5a5a5c;
}
QToolButton:pressed {
background-color: #edf2f7;
border: 1px solid #cbd5e0;
background-color: #5a5a5c;
border: 1px solid #6a6a6c;
}
QToolButton:checked {
background-color: #ebf8ff;
border: 1px solid #bee3f8;
color: #3182ce;
background-color: #0a84ff;
border: 1px solid #0a84ff;
color: #ffffff;
}
/* 切换按钮 */
QToolButton[checkable="true"] {
border: 1px solid #3c3c3c;
border-radius: 2px;
background-color: #3c3c3c;
border: 1px solid #4a4a4c;
border-radius: 6px;
background-color: #3a3a3c;
font-size: 12px;
font-weight: bold;
color: #e0e0e0;
color: #f0f0f0;
padding: 6px 12px;
}
QToolButton[checkable="true"]:hover {
background-color: #4a4a4a;
background-color: #4a4a4c;
}
QToolButton[checkable="true"]:checked {
background-color: #0078d4;
border: 1px solid #106ebe;
background-color: #0a84ff;
border: 1px solid #0a84ff;
color: #ffffff;
}
/* 下拉框 - 修复文字不可见问题 */
/* 下拉框 - Apple深色风格 */
QComboBox {
background-color: #3c3c3c;
border: 1px solid #5a5a5a;
border-radius: 2px;
color: #e0e0e0;
padding: 2px 5px;
selection-background-color: #4a4a4a;
selection-color: #e0e0e0;
background-color: #3a3a3c;
border: 1px solid #4a4a4c;
border-radius: 6px;
color: #f0f0f0;
padding: 4px 8px;
selection-background-color: #0a84ff;
selection-color: #ffffff;
}
QComboBox:hover {
background-color: #4a4a4a;
border: 1px solid #6a6a6a;
background-color: #4a4a4c;
border: 1px solid #5a5a5c;
}
QComboBox::drop-down {
border: none;
width: 15px;
background-color: #3c3c3c;
width: 20px;
border-left: 1px solid #4a4a4c;
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
QComboBox::down-arrow {
image: none;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
border-top: 5px solid #e0e0e0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 6px solid #a0a0a0;
margin: 6px;
}
/* 下拉框弹出列表 */
QComboBox QAbstractItemView {
background-color: #3c3c3c;
border: 1px solid #5a5a5a;
color: #e0e0e0;
selection-background-color: #4a4a4a;
selection-color: #e0e0e0;
}
/* 字体下拉框特殊处理 */
QFontComboBox {
background-color: #3c3c3c;
border: 1px solid #5a5a5a;
border-radius: 2px;
color: #e0e0e0;
padding: 2px 5px;
selection-background-color: #4a4a4a;
selection-color: #e0e0e0;
background-color: #2c2c2e;
border: 1px solid #4a4a4c;
color: #f0f0f0;
selection-background-color: #0a84ff;
selection-color: #ffffff;
}
QFontComboBox:hover {
background-color: #4a4a4a;
border: 1px solid #6a6a6a;
}
QFontComboBox QAbstractItemView {
background-color: #3c3c3c;
border: 1px solid #5a5a5a;
color: #e0e0e0;
selection-background-color: #4a4a4a;
selection-color: #e0e0e0;
}
/* 文本编辑器 */
/* 文本编辑区域 - Apple深色风格 */
QTextEdit {
background-color: #1e1e1e;
border: 1px solid #3c3c3c;
color: #e0e0e0;
padding: 20px;
background-color: #1c1c1e;
border: none;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-size: 15px;
color: #f0f0f0;
padding: 32px;
line-height: 1.5;
selection-background-color: #0066cc;
selection-color: #ffffff;
}
/* 状态栏 */
/* 状态栏 - Apple深色风格 */
QStatusBar {
background-color: #2d2d2d;
border-top: 1px solid #3c3c3c;
font-size: 11px;
color: #e0e0e0;
background-color: #3a3a3c;
border-top: 1px solid #4a4a4c;
font-size: 12px;
color: #a0a0a0;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
padding: 6px 12px;
}
/* 标签 */
QLabel {
color: #e0e0e0;
color: #f0f0f0;
background-color: transparent;
}
/* 消息框 - 修复黑色背景问题 */
/* 消息框 - Apple深色风格 */
QMessageBox {
background-color: #2d2d2d;
color: #e0e0e0;
background-color: #2c2c2e;
color: #f0f0f0;
border-radius: 12px;
}
QMessageBox QPushButton {
background-color: #3c3c3c;
color: #e0e0e0;
border: 1px solid #5a5a5a;
border-radius: 3px;
padding: 5px 15px;
background-color: #3a3a3c;
color: #f0f0f0;
border: 1px solid #4a4a4c;
border-radius: 6px;
padding: 6px 16px;
min-width: 80px;
}
QMessageBox QPushButton:hover {
background-color: #4a4a4a;
border: 1px solid #6a6a6a;
background-color: #4a4a4c;
border: 1px solid #5a5a5c;
}
QMessageBox QPushButton:pressed {
background-color: #2a2a2a;
border: 1px solid #1a1a1a;
background-color: #5a5a5c;
border: 1px solid #6a6a6c;
}
QMessageBox QPushButton:default {
background-color: #0a84ff;
color: #ffffff;
border: 1px solid #0a84ff;
}
QMessageBox QPushButton:default:hover {
background-color: #0066cc;
border: 1px solid #0066cc;
}
QMessageBox QPushButton:default:pressed {
background-color: #004d99;
border: 1px solid #004d99;
}
/* 滚动条 */
/* 滚动条 - Apple深色风格 */
QScrollBar:vertical {
background-color: #2d2d2d;
width: 12px;
background-color: transparent;
width: 8px;
border: none;
}
QScrollBar::handle:vertical {
background-color: #5a5a5a;
border-radius: 6px;
background-color: #5a5a5c;
border-radius: 4px;
min-height: 20px;
}
QScrollBar::handle:vertical:hover {
background-color: #6a6a6a;
background-color: #6a6a6c;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
border: none;
background: none;
}
/* 按钮 - Apple深色风格 */
QPushButton {
background-color: #3a3a3c;
color: #f0f0f0;
border: 1px solid #4a4a4c;
border-radius: 6px;
padding: 6px 16px;
font-size: 13px;
}
QPushButton:hover {
background-color: #4a4a4c;
border: 1px solid #5a5a5c;
}
QPushButton:pressed {
background-color: #5a5a5c;
border: 1px solid #6a6a6c;
}
QPushButton:default {
background-color: #0a84ff;
color: #ffffff;
border: 1px solid #0a84ff;
}
QPushButton:default:hover {
background-color: #0066cc;
border: 1px solid #0066cc;
}
QPushButton:default:pressed {
background-color: #004d99;
border: 1px solid #004d99;
}
"""
def _get_light_stylesheet(self):
"""浅色主题样式表 - 现代极简主义风格"""
"""浅色主题样式表 - Apple设计风格"""
return """
/* 现代极简主义浅色主题样式 */
/* Apple设计风格浅色主题样式 */
/* 全局文字颜色和字体 - 使用现代字体 */
/* 全局文字颜色和字体 - 使用Apple系统字体 */
QWidget {
color: #2d3748;
font-family: 'Inter', 'SF Pro Display', 'Microsoft YaHei', '微软雅黑', sans-serif;
color: #333333;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-size: 13px;
}
/* 主窗口 - 纯净白色背景 */
@ -453,84 +491,84 @@ class ThemeManager(QObject):
background-color: #ffffff;
}
/* 菜单栏 - 极简风格 */
/* 菜单栏 - Apple风格 */
QMenuBar {
background-color: #ffffff;
border: none;
border-bottom: 1px solid #e2e8f0;
font-size: 14px;
color: #2d3748;
padding: 8px 0;
border-bottom: 1px solid #e0e0e0;
font-size: 13px;
color: #333333;
padding: 4px 0;
}
QMenuBar::item {
background-color: transparent;
padding: 8px 16px;
color: #4a5568;
border-radius: 6px;
margin: 0 2px;
padding: 6px 12px;
color: #333333;
border-radius: 4px;
margin: 0 1px;
}
QMenuBar::item:selected {
background-color: #f7fafc;
color: #2d3748;
background-color: #f0f0f0;
color: #333333;
}
QMenuBar::item:pressed {
background-color: #edf2f7;
color: #2d3748;
background-color: #e0e0e0;
color: #333333;
}
/* 菜单 - 极简风格 */
/* 菜单 - Apple风格 */
QMenu {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
font-size: 14px;
color: #2d3748;
padding: 8px 0;
margin: 4px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
border: 1px solid #d0d0d0;
border-radius: 8px;
font-size: 13px;
color: #333333;
padding: 4px 0;
margin: 2px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
QMenu::item {
padding: 10px 20px;
color: #4a5568;
color: #333333;
background-color: transparent;
border-radius: 6px;
margin: 0 8px;
border-radius: 4px;
margin: 0 4px;
padding: 4px 20px;
}
QMenu::item:selected {
background-color: #f7fafc;
color: #2d3748;
background-color: #007aff;
color: #ffffff;
}
QMenu::item:pressed {
background-color: #edf2f7;
color: #2d3748;
background-color: #0062cc;
color: #ffffff;
}
QMenu::separator {
height: 1px;
background-color: #e2e8f0;
margin: 8px 16px;
background-color: #e0e0e0;
margin: 4px 8px;
}
/* 功能区 */
QFrame {
background-color: #ffffff;
border: 1px solid #d0d0d0;
border: none;
}
/* 组框 */
QGroupBox {
font-size: 11px;
font-size: 12px;
font-weight: normal;
color: #333333;
background-color: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 0px;
border: none;
border-radius: 8px;
margin-top: 5px;
padding-top: 5px;
}
@ -539,151 +577,116 @@ class ThemeManager(QObject):
subcontrol-origin: margin;
left: 10px;
padding: 0 5px 0 5px;
color: #333333;
color: #666666;
}
/* 按钮 */
/* 工具按钮 - Apple风格 */
QToolButton {
border: 1px solid #d0d0d0;
border-radius: 3px;
background-color: #ffffff;
font-size: 11px;
border: 1px solid transparent;
border-radius: 6px;
background-color: #f6f6f6;
font-size: 13px;
color: #333333;
padding: 3px 6px;
padding: 6px 12px;
}
QToolButton:hover {
background-color: #f0f0f0;
border: 1px solid #0078d7;
background-color: #e0e0e0;
border: 1px solid #d0d0d0;
}
QToolButton:pressed {
background-color: #e0e0e0;
border: 1px solid #005a9e;
background-color: #d0d0d0;
border: 1px solid #c0c0c0;
}
QToolButton:checked {
background-color: #0078d7;
border: 1px solid #005a9e;
background-color: #007aff;
border: 1px solid #007aff;
color: #ffffff;
}
/* 切换按钮 */
QToolButton[checkable="true"] {
border: 1px solid #d0d0d0;
border-radius: 2px;
background-color: #ffffff;
border-radius: 6px;
background-color: #f6f6f6;
font-size: 12px;
font-weight: bold;
color: #333333;
padding: 6px 12px;
}
QToolButton[checkable="true"]:hover {
background-color: #f0f0f0;
background-color: #e0e0e0;
}
QToolButton[checkable="true"]:checked {
background-color: #0078d7;
border: 1px solid #005a9e;
background-color: #007aff;
border: 1px solid #007aff;
color: #ffffff;
}
/* 下拉框 - 白底黑字 */
/* 下拉框 - Apple风格 */
QComboBox {
background-color: #ffffff;
background-color: #f6f6f6;
border: 1px solid #d0d0d0;
border-radius: 2px;
border-radius: 6px;
color: #333333;
padding: 2px 5px;
selection-background-color: #f0f0f0;
selection-color: #333333;
padding: 4px 8px;
selection-background-color: #007aff;
selection-color: #ffffff;
}
QComboBox:hover {
background-color: #f0f0f0;
border: 1px solid #0078d7;
background-color: #e0e0e0;
border: 1px solid #c0c0c0;
}
QComboBox::drop-down {
border: none;
width: 15px;
background-color: #ffffff;
width: 20px;
border-left: 1px solid #d0d0d0;
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
QComboBox::down-arrow {
image: none;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
border-top: 5px solid #333333;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 6px solid #666666;
margin: 6px;
}
/* 下拉框弹出列表 */
QComboBox QAbstractItemView {
background-color: #ffffff;
border: 1px solid #d0d0d0;
color: #333333;
selection-background-color: #f0f0f0;
selection-color: #333333;
}
/* 字体下拉框特殊处理 - 白底黑字 */
QFontComboBox {
background-color: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 2px;
color: #333333;
padding: 2px 5px;
selection-background-color: #f0f0f0;
selection-color: #333333;
}
QFontComboBox:hover {
background-color: #f0f0f0;
border: 1px solid #0078d7;
}
QFontComboBox::drop-down {
border: none;
width: 15px;
background-color: #ffffff;
}
QFontComboBox::down-arrow {
image: none;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
border-top: 5px solid #333333;
}
QFontComboBox QAbstractItemView {
background-color: #ffffff;
border: 1px solid #d0d0d0;
color: #333333;
selection-background-color: #f0f0f0;
selection-color: #333333;
selection-background-color: #007aff;
selection-color: #ffffff;
}
/* 文本编辑区域 - 现代极简风格 */
/* 文本编辑区域 - Apple风格 */
QTextEdit {
background-color: #ffffff;
border: none;
font-family: 'Inter', 'SF Pro Display', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-size: 14px;
color: #2d3748;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
font-size: 15px;
color: #333333;
padding: 32px;
line-height: 1.6;
selection-background-color: rgba(66, 153, 225, 0.2);
selection-color: #2d3748;
line-height: 1.5;
selection-background-color: #b3d9ff;
selection-color: #333333;
}
/* 状态栏 - 现代极简风格 */
/* 状态栏 - Apple风格 */
QStatusBar {
background-color: #ffffff;
border-top: 1px solid #e2e8f0;
background-color: #f6f6f6;
border-top: 1px solid #e0e0e0;
font-size: 12px;
color: #718096;
font-family: 'Inter', 'SF Pro Display', 'Microsoft YaHei', '微软雅黑', sans-serif;
padding: 8px;
color: #666666;
font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Helvetica', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', sans-serif;
padding: 6px 12px;
}
/* 标签 */
@ -692,41 +695,58 @@ class ThemeManager(QObject):
background-color: transparent;
}
/* 消息框 - 修复黑色背景问题 */
/* 消息框 - Apple风格 */
QMessageBox {
background-color: #ffffff;
color: #333333;
border-radius: 12px;
}
QMessageBox QPushButton {
background-color: #ffffff;
background-color: #f6f6f6;
color: #333333;
border: 1px solid #d0d0d0;
border-radius: 3px;
padding: 5px 15px;
border-radius: 6px;
padding: 6px 16px;
min-width: 80px;
}
QMessageBox QPushButton:hover {
background-color: #f0f0f0;
border: 1px solid #0078d7;
background-color: #e0e0e0;
border: 1px solid #c0c0c0;
}
QMessageBox QPushButton:pressed {
background-color: #e0e0e0;
border: 1px solid #005a9e;
background-color: #d0d0d0;
border: 1px solid #a0a0a0;
}
QMessageBox QPushButton:default {
background-color: #007aff;
color: #ffffff;
border: 1px solid #007aff;
}
/* 滚动条 */
QMessageBox QPushButton:default:hover {
background-color: #0062cc;
border: 1px solid #0062cc;
}
QMessageBox QPushButton:default:pressed {
background-color: #004a99;
border: 1px solid #004a99;
}
/* 滚动条 - Apple风格 */
QScrollBar:vertical {
background-color: #ffffff;
width: 12px;
background-color: transparent;
width: 8px;
border: none;
}
QScrollBar::handle:vertical {
background-color: #c0c0c0;
border-radius: 6px;
border-radius: 4px;
min-height: 20px;
}
@ -738,6 +758,42 @@ class ThemeManager(QObject):
border: none;
background: none;
}
/* 按钮 - Apple风格 */
QPushButton {
background-color: #f6f6f6;
color: #333333;
border: 1px solid #d0d0d0;
border-radius: 6px;
padding: 6px 16px;
font-size: 13px;
}
QPushButton:hover {
background-color: #e0e0e0;
border: 1px solid #c0c0c0;
}
QPushButton:pressed {
background-color: #d0d0d0;
border: 1px solid #a0a0a0;
}
QPushButton:default {
background-color: #007aff;
color: #ffffff;
border: 1px solid #007aff;
}
QPushButton:default:hover {
background-color: #0062cc;
border: 1px solid #0062cc;
}
QPushButton:default:pressed {
background-color: #004a99;
border: 1px solid #004a99;
}
"""
def set_dark_theme(self, is_dark):

Loading…
Cancel
Save