QAction 设置左间距 失效
时间: 2024-05-03 19:17:29 浏览: 14
如果你想要在QAction中设置左间距,可以使用QToolButton来代替QAction,并在QToolButton中设置左间距。例如:
```python
from PyQt5.QtWidgets import QApplication, QToolButton, QMenu
app = QApplication([])
button = QToolButton()
button.setText("Action with left margin")
button.setMenu(QMenu())
button.setStyleSheet("QToolButton {padding-left: 20px;}")
button.show()
app.exec_()
```
通过设置QToolButton的样式表,你可以设置QToolButton的左间距。请注意,QToolButton中的文本和图标将会被移动到左边,因此在此处设置的左间距将会应用于文本和图标之间的空间。
相关问题
QAction 设置左间距
可以使用 `QAction` 的 `setIconText` 方法来设置左侧的文本,并且可以通过设置 `QAction` 的样式表来设置左侧文本的间距。示例代码如下:
```python
action = QAction("My Action", self)
action.setIconText(" My Action") # 设置左侧文本并添加空格
action.setStyleSheet("padding-left: 20px;") # 设置左侧间距
```
在这个示例中,我们首先使用 `setIconText` 方法设置了 `QAction` 的左侧文本,并在此文本前添加了一些空格。然后,使用 `setStyleSheet` 方法设置了 `QAction` 的样式表,其中 `padding-left` 属性设置了左侧的间距为 20 像素。
QAction样式 设置左间距无效
如果你想要设置QAction的左间距,可以使用QSS(Qt Style Sheet)来实现。下面是一种设置左间距的方法:
```python
# 设置QAction的样式表
action.setStyleSheet("padding-left: 20px;")
```
这段代码将在QAction左侧添加20像素的填充。注意,这可能会影响到QAction的宽度,因此您可能需要调整QAction的大小以适应新的样式。
如果您在设置样式表后仍然无法看到左侧填充,可能是因为QAction的大小为零。您可以尝试使用以下代码设置QAction的最小大小:
```python
# 设置QAction的最小大小
action.setMinimumSize(0, 20)
```
这将设置QAction的高度为20像素,并允许QAction自动适应其内容的宽度。