初步实现设置界面

This commit is contained in:
moyanj 2024-09-08 19:53:00 +08:00
parent a25b0e07fe
commit 6d93c035b8
3 changed files with 41 additions and 8 deletions

View File

@ -4,6 +4,6 @@ from qfluentwidgets import PushButton, VBoxLayout
class MainWidget(QWidget): class MainWidget(QWidget):
def __init__(self, title="主页"): def __init__(self, title="主页"):
super().__init__() super().__init__()
self.setWindowTitle(title)
PushButton(title, self) # 创建按钮并添加到布局 PushButton(title, self) # 创建按钮并添加到布局
self.setLayout(VBoxLayout(self)) # 设置布局 self.setLayout(VBoxLayout(self)) # 设置布局

View File

@ -1,9 +1,21 @@
from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QWidget, QHBoxLayout
from qfluentwidgets import PushButton, VBoxLayout from qfluentwidgets import SwitchSettingCard
from qfluentwidgets import FluentIcon as FIF
class SettingWidget(QWidget): class SettingWidget(QWidget):
def __init__(self, title="设置"): def __init__(self, title="设置"):
super().__init__() super().__init__()
self.setWindowTitle(title) self.base = QHBoxLayout(self)
PushButton(title, self) # 创建按钮并添加到布局 c1 = SwitchSettingCard(FIF.DEVELOPER_TOOLS, "调试模式")
self.setLayout(VBoxLayout(self)) # 设置布局 c1.checkedChanged.connect(self.on_switch_changed)
self.base.addWidget(c1)
self.setLayout(self.base) # 设置布局
def on_switch_changed(self, isChecked):
if isChecked:
print("调试模式已开启")
# 在这里添加开启调试模式的代码
else:
print("调试模式已关闭")
# 在这里添加关闭调试模式的代码

25
main.py
View File

@ -1,40 +1,61 @@
import sys
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
from qfluentwidgets import FluentWindow, Theme, setTheme from qfluentwidgets import FluentWindow, Theme, setTheme
from qfluentwidgets import FluentIcon as FIF from qfluentwidgets import FluentIcon as FIF
from interface.main import MainWidget from interface.main import MainWidget
from interface.setting import SettingWidget from interface.setting import SettingWidget
import sys
# 主窗口类
class MainWindow(FluentWindow): class MainWindow(FluentWindow):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
# 设置窗口标题
self.setWindowTitle("HoYoCenter") self.setWindowTitle("HoYoCenter")
setTheme(Theme.DARK)
setTheme(Theme.LIGHT)
# 定义id和对象映射
self.id2obj = { self.id2obj = {
"主页": [MainWidget(), FIF.HOME], "主页": [MainWidget(), FIF.HOME],
"设置": [SettingWidget(), FIF.SETTING] "设置": [SettingWidget(), FIF.SETTING]
} }
# 初始化UI
self.init_ui() self.init_ui()
def init_ui(self): def init_ui(self):
# 初始化菜单
self.init_menu() self.init_menu()
# 初始化菜单
def init_menu(self): def init_menu(self):
# 设置导航栏展开宽度
self.navigationInterface.setExpandWidth(150) self.navigationInterface.setExpandWidth(150)
# 遍历id和对象映射
for name, obj in self.id2obj.items(): for name, obj in self.id2obj.items():
# 设置对象名称
obj[0].setObjectName(name) obj[0].setObjectName(name)
# 添加子界面
self.addSubInterface(obj[0], obj[1], name) self.addSubInterface(obj[0], obj[1], name)
# 创建应用程序
def create_app(): def create_app():
app = QApplication(sys.argv) app = QApplication(sys.argv)
window = MainWindow() window = MainWindow()
workaera = app.primaryScreen().availableGeometry()
# 设置窗口大小
window.resize(workaera.width(),workaera.height())
# 显示窗口
window.show() window.show()
return app return app
# 主函数
def main(): def main():
app = create_app() app = create_app()
# 运行应用程序
sys.exit(app.exec_()) sys.exit(app.exec_())
# 如果是主程序运行
if __name__ == '__main__': if __name__ == '__main__':
main() main()