QPushButton设置添加一个下拉菜单,如何删除默认添加的下拉菜单指示器图标
时间: 2024-02-18 11:59:58 浏览: 114
您可以通过设置QPushButton的风格表(stylesheet)来删除默认的下拉菜单指示器图标。具体方法如下:
```python
button = QPushButton("下拉菜单")
button.setMenu(menu) # 设置下拉菜单
# 移除下拉菜单指示器图标
button.setStyleSheet("QPushButton::menu-indicator{ image: none; }")
```
在上述代码中,我们使用 `setStyleSheet()` 方法为 QPushButton 设置风格表。其中 `QPushButton::menu-indicator` 是 QPushButton 的伪状态选择器,可以用于控制下拉菜单指示器图标的样式。通过设置 `image: none;`,我们将下拉菜单指示器图标移除,从而实现只显示文本的效果。
相关问题
QPushButton设置添加一个下拉菜单,删除默认添加的下拉菜单指示器图标后,如何调整按钮上文本的位置
可以通过设置QPushButton的StyleSheet来调整按钮上文本的位置。具体操作如下:
1. 在StyleSheet中设置按钮的padding属性,将左右内边距设置得足够大,以容纳下拉菜单的图标和文本内容;
2. 在StyleSheet中设置按钮的text-align属性为left,让文本内容靠左显示;
3. 在StyleSheet中设置按钮的icon-size属性为0,将下拉菜单的图标大小设置为0,从而达到删除默认添加的下拉菜单指示器图标的效果。
例如,下面的代码将一个名为dropBtn的QPushButton添加了一个下拉菜单,并调整了按钮上文本的位置:
```
QMenu *menu = new QMenu(this);
menu->addAction("Action 1");
menu->addAction("Action 2");
QPushButton *dropBtn = new QPushButton("Dropdown Button", this);
dropBtn->setMenu(menu);
dropBtn->setStyleSheet("QPushButton { padding: 0 20px; text-align: left; icon-size: 0; }");
```
阅读全文