设置好几个QPushButton的check时的共同样式
时间: 2024-09-30 10:11:01 浏览: 34
在Qt中,如果你想给多个QPushButton设置相同的检查样式,你可以自定义一个样式表(QSS),然后在每个按钮上应用这个样式。首先,在`.qss`文件或应用程序资源中定义一个通用的样式,例如:
```css
/* qpushbutton_checked_style.qss */
QPushButton:checked {
background-color: lightblue;
border-radius: 5px;
color: white;
}
```
然后在你的Python或Qt代码里加载并应用这个样式:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QFile, QTextStream
class YourApp(QWidget):
def __init__(self):
super().__init__()
# 加载样式表
file = QFile(':/qpushbutton_checked_style.qss')
if not file.open(QFile.ReadOnly):
print(f"Failed to load stylesheet: {file.errorString()}")
stream = QTextStream(file)
styleSheet = stream.readAll()
self.setStyleSheet(styleSheet)
# 创建几个QPushButton并应用样式
for i in range(3): # 按需调整数量
button = QPushButton("Button", self)
button.clicked.connect(self.button_clicked)
button.setStyleSheet(styleSheet)
button.show()
def button_clicked(self):
# 当按钮被点击时,这里可以添加相应的处理逻辑
# ... 然后创建并显示主窗口
app = QApplication([])
window = YourApp()
window.show()
app.exec_()
```
在这个例子中,所有被检查(即`pressed`状态)的QPushButton都会应用相同的样式。
阅读全文