qt 当qaction存在下拉菜单时,怎么改变qaction的下拉箭头方向
时间: 2024-05-03 15:19:03 浏览: 9
可以使用 `QAction` 的 `setMenu()` 方法设置下拉菜单,然后再使用 `QAction` 的 `setMenuRole()` 方法设置菜单角色为 `QAction::NoRole`,这样就可以隐藏下拉箭头了。
例如:
```cpp
QAction* action = new QAction("Action", this);
QMenu* menu = new QMenu(this);
// 添加菜单项到下拉菜单中
menu->addAction("Item 1");
menu->addAction("Item 2");
// 设置下拉菜单
action->setMenu(menu);
// 隐藏下拉箭头
action->setMenuRole(QAction::NoRole);
```
如果要改变下拉箭头的方向,可以使用 `QAction` 的 `setIcon()` 方法设置一个带有箭头的图标,例如 `QIcon::fromTheme("go-down-symbolic")`,然后再使用 `QAction` 的 `setIconVisibleInMenu()` 方法设置图标在菜单中可见。
例如:
```cpp
QAction* action = new QAction("Action", this);
QMenu* menu = new QMenu(this);
// 添加菜单项到下拉菜单中
menu->addAction("Item 1");
menu->addAction("Item 2");
// 设置下拉菜单
action->setMenu(menu);
// 设置带有箭头的图标
action->setIcon(QIcon::fromTheme("go-down-symbolic"));
// 在菜单中显示图标
action->setIconVisibleInMenu(true);
```