请帮我写一个Pyside2 QPushbutton的图标位于按钮文字上方的代码
时间: 2024-05-14 22:16:52 浏览: 20
可以参考以下代码:
```python
import sys
from PySide2.QtWidgets import QApplication, QWidget, QPushButton
from PySide2.QtGui import QIcon
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个按钮
btn = QPushButton('Button', self)
# 设置按钮上方的图标
icon = QIcon('icon.png')
btn.setIcon(icon)
btn.setIconSize(icon.actualSize(QSize(32, 32)))
# 设置按钮文字和图标的对齐方式
btn.setStyleSheet('QPushButton {text-align: center; padding: 15px;}'
'QPushButton::indicator {subcontrol-origin: padding; subcontrol-position: top center;}')
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Icon on top of button')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个QPushButton对象(btn)。我们设置了按钮上方的图标,并使用setIconSize()方法设置图标的大小。然后,我们使用setStyleSheet()方法为按钮设置样式表。在样式表中,我们设置按钮上下文的位置为顶部中心,以使图标出现在按钮的顶部。最后,我们显示了QWidget对象。