QT6中如何为按钮添加图标?能否使用内置图标及Breeze Icons?
QT6 内置图标在按钮中的实现方法
QT6内置了Breeze Icons图标库,完全不需要依赖外部文件就能给按钮添加图标,下面两种方法都能实现你的需求:
方法一:使用Breeze Icons主题(推荐)
Breeze是QT6默认的图标主题,直接通过图标名称调用即可,步骤如下:
- 确保项目配置中引入了Qt Widgets和Gui模块(CMake或QMake均可)
- 在代码中设置图标主题并调用:
#include <QApplication> #include <QPushButton> #include <QIcon> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 指定使用Breeze图标主题 QIcon::setThemeName("breeze"); QPushButton btn("打开"); // 根据图标名称获取内置图标(你的示例图标对应"document-open") btn.setIcon(QIcon::fromTheme("document-open")); btn.resize(100, 40); btn.show(); return app.exec(); }
- 图标名称遵循Freedesktop规范,常见的还有
save(保存)、edit-delete(删除)等,可根据需求查找对应名称。
方法二:使用QT内置标准图标
如果不想依赖主题,直接用QT风格提供的标准图标也可以,兼容性更强:
#include <QApplication> #include <QPushButton> #include <QStyle> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton btn("打开"); // 获取QT内置的"打开文件"图标 btn.setIcon(app.style()->standardIcon(QStyle::SP_FileDialogOpen)); btn.resize(100, 40); btn.show(); return app.exec(); }
这种方法的图标样式由当前QT应用的风格决定,无需额外配置主题。
内容的提问来源于stack exchange,提问作者Aman
相关产品推荐
相关产品推荐

