initial fluent-widgets ui

This commit is contained in:
2025-08-14 18:45:16 +08:00
parent 746e83ab23
commit 4c66886257
1198 changed files with 805339 additions and 0 deletions

View File

@ -0,0 +1,66 @@
# coding:utf-8
import sys
from PySide6.QtCore import Qt
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QWidget, QHBoxLayout
from qfluentwidgets import FluentFontIconBase, Theme, PushButton, SwitchButton, TogglePushButton, toggleTheme, HyperlinkButton
class PhotoFontIcon(FluentFontIconBase):
""" Custom icon font icon """
def path(self, theme=Theme.AUTO):
return "font/PhotosIcons.ttf"
def iconNameMapPath(self):
""" Not necessary, but if you want to use `fromName`, you have to implement this method """
return "font/PhotoIcons.json"
class MediaPlayerFontIcon(FluentFontIconBase):
""" Custom icon font icon """
def path(self, theme=Theme.AUTO):
return "font/MediaPlayerIcons.ttf"
class Demo(QWidget):
def __init__(self):
super().__init__()
self.themeButton = SwitchButton(self)
self.button1 = PushButton(PhotoFontIcon("\ue77b"), "Default")
self.button2 = PushButton(PhotoFontIcon.fromName("cloud").colored("#275EFF", Qt.GlobalColor.darkCyan), "Custom")
self.button3 = TogglePushButton(PhotoFontIcon.fromName("smile"), "Toggle")
self.button4 = HyperlinkButton(MediaPlayerFontIcon("\uf414"), "http://qfluentwidgets.com", "Hyperlink")
self.hBoxLayout = QHBoxLayout(self)
self.hBoxLayout.addWidget(self.button1)
self.hBoxLayout.addWidget(self.button2)
self.hBoxLayout.addWidget(self.button3)
self.hBoxLayout.addWidget(self.button4)
self.resize(500, 500)
self.themeButton.move(200, 50)
self.themeButton.setOnText("Dark")
self.themeButton.setOffText("Light")
self.themeButton.checkedChanged.connect(self.toggleTheme)
def toggleTheme(self, isCheked):
toggleTheme()
if isCheked:
self.setStyleSheet("Demo{background:rgb(32,32,32)}")
else:
self.setStyleSheet("Demo{background:rgb(242,242,242)}")
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Demo()
w.show()
app.exec()

Binary file not shown.

View File

@ -0,0 +1,5 @@
{
"cloud": "\ue753",
"filter": "\ue71c",
"smile": "\ue76e"
}

Binary file not shown.