QT5/C :更改Qtoolbar内部的QICON的样式
Qt5/C++: change style of a QIcon inside a QToolBar
我仅使用图标和空文本将操作添加到QToolBar
,我想在触发每个动作样式时更改它(特别是,更改其边框颜色):
toolbar = new QToolBar;
action1 = toolbar->addAction(my_icon1, "");
action2 = toolbar->addAction(my_icon2, "");
QObject::connect(action1, &QAction::triggered, [this]{
// change border color of action1
// unset border color of action2
});
QObject::connect(action2, &QAction::triggered, [this]{
// change border color of action2
// unset border color of action1
});
但是,由于QIcon
不是小部件(当然不是QAction
),所以我不知道在哪里设置特定操作的样式,并且QAction::associatedWidget()
返回QToolBar
小部件,而不是拥有图标的关联按钮。
我只使用QML
或ui
文件的C 代码。
因为QAction::parentWidget
和QAction::associatedWidgets
都包含QToolBar
而不是实际的动作小部件,所以我没有对QToolBar::widgetForAction
给予最初的信用(我认为这对于QAction::
方法来说是某种方便的功能多于)。但是它值得它,因为它返回了该动作的实际小部件,如函数名称所述:
toolbar->widgetForAction(action1)->setStyleSheet
("QWidget { border: 1px solid blue; }");
相关文章:
- 将函数类成员映射到类本身内部
- Boost Spirit,获取迭代器内部语义动作
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 内联函数中具有内部链接的全局变量
- 在函数内部的声明中初始化数组,并在外部使用它
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 卷曲bracers内部结构的声明
- 将QIcon添加到QTableView单元格
- 从函数角度看ID到文件路径的内部与外部映射
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 如何在pugixml中获取节点的内部XML
- 使用C链接在函数内部创建C++模板
- 指针没有更新它在void函数内部指向的值
- 方法内部但循环仍得到预期的不合格id错误C++
- C++:具有内部链接的正向声明常量
- SDL_PollEvent() 无法捕获类函数内部SDL_QUIT?
- libcurl 和 DNS ttl 中的内部连接管理
- 如何修改 lambda 内部字符串的向量
- 如果我将嵌套映射作为多重映射的值,如何将值插入内部映射?
- QT5/C :更改Qtoolbar内部的QICON的样式