Update
This commit is contained in:
parent
542254ba8e
commit
e039052970
@ -33,3 +33,195 @@ QPushButton:pressed {
|
||||
.messageButton:pressed {
|
||||
background-color: #A0A0A0;
|
||||
}
|
||||
|
||||
/* MetaFusion 深色主题样式 */
|
||||
|
||||
/* 主窗口样式 */
|
||||
QMainWindow {
|
||||
background-color: #333333;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
|
||||
/* 菜单栏样式 */
|
||||
QMenuBar {
|
||||
background-color: #333333;
|
||||
color: #CCCCCC;
|
||||
border-bottom: 1px solid #222222;
|
||||
}
|
||||
|
||||
QMenuBar::item {
|
||||
background-color: transparent;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
QMenuBar::item:selected {
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
/* 工具栏样式 */
|
||||
QToolBar {
|
||||
background-color: #333333;
|
||||
border: none;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
QToolButton {
|
||||
background-color: transparent;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 2px;
|
||||
padding: 4px;
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
QToolButton:hover {
|
||||
background-color: #444444;
|
||||
border: 1px solid #555555;
|
||||
}
|
||||
|
||||
/* 标签页样式 */
|
||||
QTabWidget::pane {
|
||||
border: 1px solid #222222;
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
QTabBar::tab {
|
||||
background-color: #2A2A2A;
|
||||
color: #CCCCCC;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid #222222;
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
QTabBar::tab:selected {
|
||||
background-color: #333333;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
QTabBar::tab:hover:not(:selected) {
|
||||
background-color: #3A3A3A;
|
||||
}
|
||||
|
||||
/* 列表和树形控件样式 */
|
||||
QTreeView, QListView {
|
||||
background-color: #2A2A2A;
|
||||
border: 1px solid #222222;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
|
||||
QTreeView::item:hover, QListView::item:hover {
|
||||
background-color: #3A3A3A;
|
||||
}
|
||||
|
||||
QTreeView::item:selected, QListView::item:selected {
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
/* 输入框样式 */
|
||||
QLineEdit {
|
||||
background-color: #2A2A2A;
|
||||
border: 1px solid #222222;
|
||||
border-radius: 2px;
|
||||
color: #CCCCCC;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
/* 下拉框样式 */
|
||||
QComboBox {
|
||||
background-color: #2A2A2A;
|
||||
border: 1px solid #222222;
|
||||
border-radius: 2px;
|
||||
color: #CCCCCC;
|
||||
padding: 3px;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
QComboBox::drop-down {
|
||||
border: none;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
QComboBox::down-arrow {
|
||||
border-image: url(:/resources/icons/down_arrow.png);
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
/* 按钮样式 */
|
||||
QPushButton {
|
||||
background-color: #2A2A2A;
|
||||
border: 1px solid #222222;
|
||||
border-radius: 2px;
|
||||
color: #CCCCCC;
|
||||
padding: 5px 15px;
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
QPushButton:hover {
|
||||
background-color: #3A3A3A;
|
||||
border: 1px solid #444444;
|
||||
}
|
||||
|
||||
QPushButton:pressed {
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
QScrollBar:vertical {
|
||||
background: #2A2A2A;
|
||||
width: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
QScrollBar::handle:vertical {
|
||||
background: #444444;
|
||||
min-height: 20px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
QScrollBar:horizontal {
|
||||
background: #2A2A2A;
|
||||
height: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
QScrollBar::handle:horizontal {
|
||||
background: #444444;
|
||||
min-width: 20px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
/* 分组框样式 */
|
||||
QGroupBox {
|
||||
border: 1px solid #222222;
|
||||
border-radius: 3px;
|
||||
margin-top: 6px;
|
||||
padding-top: 6px;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
|
||||
QGroupBox::title {
|
||||
left: 7px;
|
||||
padding: 0px 3px;
|
||||
}
|
||||
|
||||
/* 状态栏样式 */
|
||||
QStatusBar {
|
||||
background-color: #333333;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
|
||||
/* 工具提示样式 */
|
||||
QToolTip {
|
||||
background-color: #2A2A2A;
|
||||
border: 1px solid #222222;
|
||||
color: #CCCCCC;
|
||||
padding: 3px;
|
||||
}
|
||||
|
@ -1,2 +1,140 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
from config import data
|
||||
QtCore, QtGui, QtWidgets = data.Qt()
|
||||
|
||||
|
||||
# 全局变量声明
|
||||
main_window = None
|
||||
|
||||
class MetaFusionWindow(QtWidgets.QMainWindow):
|
||||
def __init__(self, parent=None):
|
||||
super(MetaFusionWindow, self).__init__(parent)
|
||||
self.setWindowTitle("MetaFusion")
|
||||
self.resize(800, 600)
|
||||
|
||||
# 加载样式表
|
||||
self.load_stylesheet()
|
||||
|
||||
# 创建UI
|
||||
self.setup_ui()
|
||||
|
||||
def load_stylesheet(self):
|
||||
"""加载QSS样式表"""
|
||||
style_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", "styles", "style.qss")
|
||||
if os.path.exists(style_file):
|
||||
with open(style_file, 'r', encoding='utf-8') as f:
|
||||
self.setStyleSheet(f.read())
|
||||
|
||||
def setup_ui(self):
|
||||
"""设置UI结构"""
|
||||
# 创建中心部件
|
||||
central_widget = QtWidgets.QWidget()
|
||||
self.setCentralWidget(central_widget)
|
||||
|
||||
# 创建主布局
|
||||
main_layout = QtWidgets.QVBoxLayout(central_widget)
|
||||
|
||||
# 创建菜单栏
|
||||
self.create_menu_bar()
|
||||
|
||||
# 创建工具栏
|
||||
self.create_tool_bar()
|
||||
|
||||
# 创建标签页
|
||||
self.create_tabs()
|
||||
|
||||
def create_menu_bar(self):
|
||||
"""创建菜单栏"""
|
||||
menubar = self.menuBar()
|
||||
|
||||
# 文件菜单
|
||||
file_menu = menubar.addMenu("文件")
|
||||
file_menu.addAction("新建")
|
||||
file_menu.addAction("打开")
|
||||
file_menu.addAction("保存")
|
||||
file_menu.addSeparator()
|
||||
file_menu.addAction("退出")
|
||||
|
||||
# 编辑菜单
|
||||
edit_menu = menubar.addMenu("编辑")
|
||||
edit_menu.addAction("撤销")
|
||||
edit_menu.addAction("重做")
|
||||
|
||||
# 帮助菜单
|
||||
help_menu = menubar.addMenu("帮助")
|
||||
help_menu.addAction("关于")
|
||||
|
||||
def create_tool_bar(self):
|
||||
"""创建工具栏"""
|
||||
toolbar = self.addToolBar("主工具栏")
|
||||
toolbar.setMovable(False)
|
||||
|
||||
# 添加工具栏按钮
|
||||
toolbar.addAction(QtGui.QIcon(":/icons/new.png"), "新建")
|
||||
toolbar.addAction(QtGui.QIcon(":/icons/open.png"), "打开")
|
||||
toolbar.addAction(QtGui.QIcon(":/icons/save.png"), "保存")
|
||||
|
||||
def create_tabs(self):
|
||||
"""创建标签页"""
|
||||
self.tab_widget = QtWidgets.QTabWidget()
|
||||
self.centralWidget().layout().addWidget(self.tab_widget)
|
||||
|
||||
# 创建四个主要标签页
|
||||
self.model_tab = QtWidgets.QWidget()
|
||||
self.rig_tab = QtWidgets.QWidget()
|
||||
self.adjust_tab = QtWidgets.QWidget()
|
||||
self.define_tab = QtWidgets.QWidget()
|
||||
|
||||
# 添加标签页到标签页控件
|
||||
self.tab_widget.addTab(self.model_tab, "模型")
|
||||
self.tab_widget.addTab(self.rig_tab, "绑定")
|
||||
self.tab_widget.addTab(self.adjust_tab, "调整")
|
||||
self.tab_widget.addTab(self.define_tab, "定义")
|
||||
|
||||
# 设置各个标签页的内容
|
||||
self.setup_model_tab()
|
||||
self.setup_rig_tab()
|
||||
self.setup_adjust_tab()
|
||||
self.setup_define_tab()
|
||||
|
||||
def setup_model_tab(self):
|
||||
"""设置模型标签页内容"""
|
||||
layout = QtWidgets.QVBoxLayout(self.model_tab)
|
||||
# 在这里添加模型标签页的具体控件
|
||||
|
||||
def setup_rig_tab(self):
|
||||
"""设置绑定标签页内容"""
|
||||
layout = QtWidgets.QVBoxLayout(self.rig_tab)
|
||||
# 在这里添加绑定标签页的具体控件
|
||||
|
||||
def setup_adjust_tab(self):
|
||||
"""设置调整标签页内容"""
|
||||
layout = QtWidgets.QVBoxLayout(self.adjust_tab)
|
||||
# 在这里添加调整标签页的具体控件
|
||||
|
||||
def setup_define_tab(self):
|
||||
"""设置定义标签页内容"""
|
||||
layout = QtWidgets.QVBoxLayout(self.define_tab)
|
||||
# 在这里添加定义标签页的具体控件
|
||||
|
||||
def show():
|
||||
"""显示主窗口"""
|
||||
global main_window
|
||||
|
||||
try:
|
||||
main_window.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
main_window = MetaFusionWindow()
|
||||
main_window.show()
|
||||
return main_window
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QtWidgets.QApplication([])
|
||||
window = show()
|
||||
app.exec_()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user