ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

BreezeStyleSheets安装教程:pip、CMake与QMake三种集成方式全解析

BreezeStyleSheets安装教程:pip、CMake与QMake三种集成方式全解析 BreezeStyleSheets安装教程pip、CMake与QMake三种集成方式全解析【免费下载链接】BreezeStyleSheetsBreeze/BreezeDark-like Qt StyleSheets项目地址: https://gitcode.com/gh_mirrors/br/BreezeStyleSheets想让你的 Qt 应用拥有 KDE 桌面那种干净利落的 Breeze 原生质感吗这份 BreezeStyleSheets安装教程 将手把手带你完成从零到一的集成。BreezeStyleSheets 是一套高度可配置的 Breeze / BreezeDark 风格 Qt 样式表在 Linux、Windows、macOS 及高 DPI 屏幕上渲染一致并且全面覆盖 QCalendarWidget 等冷门控件。无论你的项目是 PythonPyQt/PySide还是 CCMake/QMake都能在这篇安装指南里找到最快的接入方法。![BreezeStyleSheets安装教程之深色主题演示](https://raw.gitcode.com/gh_mirrors/br/BreezeStyleSheets/raw/db850cb1b1417ac05dd2392e0aa2162ff5657a09/assets/Breeze Dark.gif?utm_sourcegitcode_repo_files) ![BreezeStyleSheets安装教程之浅色主题演示](https://raw.gitcode.com/gh_mirrors/br/BreezeStyleSheets/raw/db850cb1b1417ac05dd2392e0aa2162ff5657a09/assets/Breeze Light.gif?utm_sourcegitcode_repo_files)安装前的准备工作在开始三种集成方式之前建议先获取项目源码方便后续直接使用其中的配置文件与资源模板git clone https://gitcode.com/gh_mirrors/br/BreezeStyleSheets同时请确保本机已安装 Qt 的核心模块QtCore、QtGui、QtWidgets、QtSvg。其中QtSvg必不可少样式表中的图标均以 SVG 形式渲染缺失会导致图标无法显示。方式一pip 安装Python 项目最快集成如果你的 Qt 应用基于 PyQt5 / PyQt6 / PySide2 / PySide6pip 是耗时最短的路径。BreezeStyleSheets 已发布为名为breezestylesheets的 Python 包一条命令即可完成安装pip install breezestylesheets一键编译资源文件安装后使用项目根目录的 configure.py 生成编译好的资源。不同框架需要对应的资源编译器RCCPyQt5pyrcc5PyQt6 / PySide6pyside6-rccPySide2pyside2-rccpython configure.py --compiled-resource breeze_resources.py在 Python 代码中加载 BreezeDark编译完成后将breeze_resources.py放入 Python 搜索路径然后在入口处加载样式from PyQt5 import QtWidgets from PyQt5.QtCore import QFile, QTextStream import breeze_resources # 编译后的资源模块 app QtWidgets.QApplication(sys.argv) # 设置深色样式浅色把 dark 换成 light 即可 file QFile(:/dark/stylesheet.qss) file.open(QFile.ReadOnly | QFile.Text) stream QTextStream(file) app.setStyleSheet(stream.readAll()) app.exec_()代码中通过:/dark/stylesheet.qss读取的是 Qt 资源路径。整个编译、渲染流程由包内的 stylesheet.py 与 style.py 完成模板源文件位于 breezestylesheets/template/default/感兴趣可以自行查阅。方式二CMake 集成C 项目自动化构建对 C 项目BreezeStyleSheets 提供了一套开箱即用的 CMake 方案基于FetchContent在构建时自动拉取仓库、调用 Python 生成样式并编译进二进制全程零手工拷贝。breeze.cmake 模块配置项目已经为你准备好了现成模块 breeze.cmake它同时兼容 Qt5 与 Qt6并支持通过BREEZE_STYLES、BREEZE_EXTENSIONS两个变量控制要打包的主题与扩展set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) find_package(${QT_VERSION} COMPONENTS Core Gui Widgets Svg REQUIRED) find_package(Python COMPONENTS Interpreter) include(FetchContent) FetchContent_Declare( breeze_stylesheets GIT_REPOSITORY 你的仓库地址 GIT_TAG origin/main GIT_SHALLOW 1) FetchContent_GetProperties(breeze_stylesheets) if(NOT breeze_stylesheets_POPULATED) FetchContent_Populate(breeze_stylesheets) add_library(breeze STATIC ${breeze_stylesheets_SOURCE_DIR}/dist/breeze.qrc) add_custom_target(run_python_breeze ALL COMMAND ${Python_EXECUTABLE} configure.py --extensions${BREEZE_EXTENSIONS} --styles${BREEZE_STYLES} --resource breeze.qrc WORKING_DIRECTORY ${breeze_stylesheets_SOURCE_DIR} BYPRODUCTS ${breeze_stylesheets_SOURCE_DIR}/dist/breeze.qrc) add_dependencies(breeze run_python_breeze) endif()在 CMakeLists.txt 中接入参考 example/cpp/cmake/CMakeLists.txt把breeze.cmake放进模块搜索路径后set(QT_VERSION Qt5 CACHE STRING The Qt version framework to use (Qt5 or Qt6).) set(BREEZE_EXTENSIONS all CACHE STRING The extensions to include in our stylesheets.) set(BREEZE_STYLES all CACHE STRING The styles to include in our stylesheets.) include(breeze) add_executable(myapp WIN32 MACOSX_BUNDLE main.cpp) target_link_libraries(myapp PRIVATE Qt${QT_VERSION_MAJOR}::Widgets breeze)C 中加载 BreezeDark由于是外部构建系统需要手动初始化资源完整示例见 test_qt.cpp#include QApplication #include QFile #include QTextStream int main(int argc, char *argv[]) { QApplication app(argc, argv); Q_INIT_RESOURCE(breeze); QFile file(:/dark/stylesheet.qss); file.open(QFile::ReadOnly | QFile::Text); QTextStream stream(file); app.setStyleSheet(stream.readAll()); return app.exec(); } 若遇到链接错误 copy relocations against a non-copyable protected symbol在 CMakeLists.txt 中为breeze目标加上set_property(TARGET breeze PROPERTY POSITION_INDEPENDENT_CODE ON)即可解决。方式三QMake 集成轻量 C 项目如果项目还在使用经典的 qmake 构建集成同样简单无需联网下载只需将dist子目录的内容复制到项目目录并在.pro文件中引入breeze.qrc资源文件TARGET app SOURCES main.cpp RESOURCES breeze.qrc然后在main.cpp中用与 CMake 方式相同的 QFile 加载代码无需Q_INIT_RESOURCEqmake 会自动处理QApplication app(argc, argv); QFile file(:/dark/stylesheet.qss); file.open(QFile::ReadOnly | QFile::Text); QTextStream stream(file); app.setStyleSheet(stream.readAll());三种安装方式如何选择集成方式适用场景特点pip 安装PythonPyQt/PySide项目最快上手一条命令搞定CMake 集成大型 C 工程自动拉取编译团队协作友好QMake 集成轻量 C 工程无需网络复制即用进阶主题定制与扩展BreezeStyleSheets 的每个主题都由 JSON 文件定义如 theme/dark-blue.json包含近 40 个颜色变量。想换配色复制一个主题文件修改其中的highlight等主色调再用configure.py重新生成即可python configure.py --stylesdark,light,自定义主题 --resource custom.qrc此外内置扩展系统还支持 Advanced Docking System、QDockWidget 提示气泡和完整标准图标集模板位于 breezestylesheets/template/开启方式是在配置命令中追加--extensionsall。常见问题速查图标不显示检查是否安装了 QtSvg 模块。主题切换失效自定义字体务必在设置样式表之前完成应用样式style要在创建 QApplication 之后、显示窗口之前设置。Windows 深色模式适配使用auto主题可自动检测系统深浅色相关检测逻辑可参考 breezestylesheets/detect.py。总结无论是 Python 还是 C这篇 BreezeStyleSheets安装教程 提供的 pip、CMake 与 QMake 三条路线都能让你在几分钟内为 Qt 应用换上优雅的 Breeze 外观。动手试一试你的应用也能拥有 KDE 般的原生质感【免费下载链接】BreezeStyleSheetsBreeze/BreezeDark-like Qt StyleSheets项目地址: https://gitcode.com/gh_mirrors/br/BreezeStyleSheets创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表