QT 按钮设置上下样式的图标
时间: 2023-08-24 10:06:01 浏览: 52
可以使用QPushButton的setIcon()函数来设置按钮的图标,同时使用setStyleSheet()函数来设置按钮的样式。
以下是一个设置上下样式图标的示例代码:
```
QPushButton *button = new QPushButton(this);
button->setIcon(QIcon(":/images/up_down_icon.png"));
button->setIconSize(QSize(32, 32));
button->setStyleSheet("QPushButton { border: none; }"
"QPushButton::down { padding-top: 5px; }"
"QPushButton::up { padding-bottom: 5px; }");
```
其中,":/images/up_down_icon.png"是图标的路径,QSize(32, 32)是设置图标的大小,setStyleSheet()函数中的样式代码设置了按钮的边框为无,同时设置了按钮按下时的上下移动距离。
相关问题
py qt 设置QSpinBox上下按钮样式,添加图片
可以通过CSS样式表来设置QSpinBox的上下按钮样式,同时可以添加图片。下面是一个简单的例子,演示了如何使用CSS样式表来设置QSpinBox上下按钮样式和添加图片:
```python
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSpinBox
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 创建QSpinBox
self.spin_box = QSpinBox()
self.spin_box.setRange(0, 100)
# 设置QSpinBox的上下按钮样式和添加图片
style_sheet = """
QSpinBox::up-button {
border-image: url(./up_arrow.png);
width: 20px;
height: 20px;
}
QSpinBox::down-button {
border-image: url(./down_arrow.png);
width: 20px;
height: 20px;
}
"""
self.spin_box.setStyleSheet(style_sheet)
# 创建垂直布局
layout = QVBoxLayout()
layout.addWidget(self.spin_box)
# 设置窗口布局
self.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
# 加载图片
app_icon = QPixmap("./up_arrow.png")
app_icon = app_icon.scaled(50, 50, Qt.KeepAspectRatio, Qt.SmoothTransformation)
app.setWindowIcon(app_icon)
# 创建窗口
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个QSpinBox,并设置了范围。然后,我们使用CSS样式表来设置QSpinBox的上下按钮样式。我们使用border-image属性来设置按钮的背景图像,并设置了按钮的宽度和高度。最后,我们将样式表设置为QSpinBox的样式表。
在加载图片时,我们将窗口图标设置为up_arrow.png的图像,并使用scaled函数将其缩放为50x50大小。这只是一个简单的例子,你可以根据需要修改样式表和图片。
qt python 按钮圆角样式并设置红色
您可以使用Qt的QSS(Qt样式表)来实现圆角按钮和红色背景色,样式代码如下:
QPushButton {
background-color: red;
color: white;
border-radius: 10px;
padding: 6px;
font-size: 16px;
}
您可以在PyQt5中使用这个样式表来创建一个按钮:
```python
from PyQt5.QtWidgets import QWidget, QPushButton
from PyQt5.QtGui import QIcon
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个 QPushButton 组件
qbtn = QPushButton('按钮', self)
# 设置按钮的图标和提示
qbtn.setIcon(QIcon('web.png'))
qbtn.setToolTip('这是一个按钮')
# 设置按钮的样式表
qbtn.setStyleSheet('''
QPushButton {
background-color: red;
color: white;
border-radius: 10px;
padding: 6px;
font-size: 16px;
}
''')
# 设置按钮的位置和大小
qbtn.resize(qbtn.sizeHint())
qbtn.move(50, 50)
# 设置窗口的位置和大小
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('圆角按钮样式')
self.show()
```
这将创建一个红色的,圆角的 QPushButton 组件,并在中心显示一个白色的“按钮”文字。