python-3.x - PyQt5:如何将 clicked.connect 和 setStyleSheet 写在一行中?
问题描述
我想问一个初学者的问题。
在我的以下代码中,我尝试在一行中编写clicked.connect
和。setStyleSheet
但它不起作用。有人可以教我如何在一行中编写它们吗?
self.btn = QPushButton("Click")
self.btn.clicked.connect(self.btn.setStyleSheet("font: 15px"))
谢谢!
解决方案
尝试一下:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.setWindowTitle("Button demo")
self.setGeometry(500, 200, 280, 180)
self.label = QLabel()
layout = QVBoxLayout()
self.btn1 = QPushButton("Button1")
self.btn1.clicked.connect(lambda:self.whichbtn(self.btn1, style="font: 15px; color: red;"))
layout.addWidget(self.btn1)
self.btn2 = QPushButton('image')
self.btn2.setIcon(QIcon(QPixmap("./images/python.png")))
self.btn2.clicked.connect(lambda:self.whichbtn(self.btn2, style="font: 20px; color: green;" ))
layout.addWidget(self.btn2)
self.btn3 = QPushButton("setEnabled(False)")
self.btn3.setEnabled(False)
layout.addWidget(self.btn3)
self.btn4 = QPushButton("&Download")
self.btn4.setDefault(True)
self.btn4.clicked.connect(lambda:self.whichbtn(self.btn4, style="font: 10px; color: blue;"))
layout.addWidget(self.btn4)
layout.addWidget(self.label)
self.setLayout(layout)
def whichbtn(self, btn, style):
btn.setStyleSheet(style)
self.label.setStyleSheet(style)
self.label.setText(style)
if btn.text() == "Button1":
self.btn2.setStyleSheet("")
self.btn4.setStyleSheet("")
elif btn.text() == "image":
self.btn1.setStyleSheet("")
self.btn4.setStyleSheet("")
else:
self.btn1.setStyleSheet("")
self.btn2.setStyleSheet("")
if __name__ == '__main__':
app = QApplication(sys.argv)
btnDemo = Form()
btnDemo.show()
sys.exit(app.exec_())
推荐阅读
- c# - 如何测试延迟加载在实体框架中是否有效
- javascript - 如何使用纯 JavaScript 或 CSS 使 HTML 元素聚集在一起
- extjs - ExtJS 中 Ext.panel.Panel 和 Ext.Panel 之间的确切区别
- ios - 我得到响应错误..有什么想法吗?使用 swift 和 Alamo fire 我必须将发布请求作为 http 正文行发送
- css - 尝试使用弹性框将链接带到导航栏的右侧
- c# - 在具有相同输出路径的多个解决方案项目上使用 NuGet
- javascript - Merge the object using typescript
- javascript - 当我在表单中输入内容时,它返回为未定义
- java - 从 XML 文件构建可靠的结构
- mysql - mySQL 将数字数据与同一表中的最后一个图像组合在一起