python PyQt5 按钮添加图片与绑定函数 排雷篇(1)

一篇简单的小文章,介绍如何给PyQt5的按钮(QPushButton)添加图片和绑定函数~


一、给按钮添加图片

首先,我们来了解一下语法~

""" 按钮对象名.setStyleSheet("QPushButton{border-image: url(图片名 或 图片路径)}") """
#例子
pushbutton1 = QPushButton(window)
pushbutton1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") 
#相对路径和绝对路径都可以哦

看一下最终效果~(tips:添加图片的按钮记得设置成和图片一样大小)


二、解决按钮绑定函数可能出现的错误

当你想要给一个按钮绑定函数时(以下就以按钮被点击时 即clicked,发出信号绑定函数为例)

先来看一下一般方法绑定的源代码——

#这里 write_password() 函数内容不重要,但是要记得定义哈
b1 = QPushButton(window)   #创建按钮对象
b1.setGeometry(52,436,300,45)    #设置按钮的位置和大小
b1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") #绑定图片
b1.setChecked(False)  #设置开始时的状态为未选中
b1.clicked.connect(write_password())   #在被点击时执行 write_password() 函数
b1.clicked.connect(write_password())
TypeError: argument 1 has unexpected type 'NoneType'

这里给报错了,大致意思就是connect传入的参数 write_password() 的种类是NoneType

但是参数的值不可以是None,所以要把参数用 lambda 函数定义一下,使其的值不为None

b1.clicked.connect(lambda:write_password())

修改后的代码——

#这里 write_password() 函数内容不重要,但是要记得定义哈
b1 = QPushButton(window)   #创建按钮对象
b1.setGeometry(52,436,300,45)    #设置按钮的位置和大小
b1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") #绑定图片
b1.setChecked(False)  #设置开始时的状态为未选中
b1.clicked.connect(lambda:write_password())   #在被点击时执行 write_password() 函数

至此完美运行,问题解决啦~

如果对您有帮助的话,请点个赞吧,再见~~~

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在PyQt5中,可以使用QPushButton类创建和呈现按钮绑定按钮与特定函数是一种常见的实践,使得当按下按钮时,相应的功能将被执行。 要实现按钮绑定函数的功能,首先需要导入PyQt5的核心模块和按钮模块: ```Python from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import QCoreApplication ``` 然后,创建一个继承自QWidget的类,并在该类中定义按钮按钮绑定函数: ```Python class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): button = QPushButton('点击按钮', self) button.clicked.connect(self.buttonClicked) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('按钮绑定函数示例') self.show() def buttonClicked(self): print('按钮被点击了') ``` 在上述代码中,我们首先创建了一个按钮,并使用`clicked`信号绑定了`buttonClicked`函数。然后,使用`setGeometry`和`setWindowTitle`方法设置了窗口的几何形状和标题。 最后,通过运行一个`QApplication`对象来启动整个GUI应用程序: ```Python if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 当运行此代码时,我们将看到一个窗口显示一个按钮。每当点击按钮时,终端将打印一条消息“按钮被点击了”。 这就是如何使用PyQt5来实现按钮绑定函数的基本步骤。可以根据实际需求来调整按钮绑定函数,以及界面的其他组件和功能。 ### 回答2: 在PyQt5中,我们可以使用`QPushButton`控件来创建按钮,并通过`clicked`信号将其与一个函数绑定。 首先,我们需要导入所需的模块: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from PyQt5.QtCore import pyqtSlot import sys ``` 然后,我们创建一个主窗口类(继承自`QMainWindow`): ```python class MyWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): button = QPushButton("按钮", self) button.clicked.connect(self.on_button_click) self.setGeometry(100, 100, 300, 200) # 设置窗口位置和大小 self.setWindowTitle("PyQt5按钮绑定函数示例") self.show() @pyqtSlot() def on_button_click(self): print("按钮被点击了") ``` 在主窗口类的`initUI`方法中,我们创建了一个名为"按钮"的按钮,并将其与`on_button_click`函数绑定。 `on_button_click`函数使用了`@pyqtSlot()`装饰器,以告诉PyQt5这是一个槽函数,用于处理按钮点击事件。在此示例中,我们只是简单地在控制台打印了一条消息。 最后,我们实例化`MyWindow`类并运行应用程序: ```python if __name__ == "__main__": app = QApplication(sys.argv) window = MyWindow() sys.exit(app.exec_()) ``` 通过以上步骤,我们成功创建了一个PyQt5应用程序,其中一个按钮通过`clicked`信号与`on_button_click`函数绑定。当按钮被点击时,`on_button_click`函数将会被调用,并在控制台打印一条消息。 ### 回答3: PyQt5是一个流行的Python GUI开发框架,它提供了丰富的控件和功能,方便开发者创建各种用户界面。其中,按钮是常用的控件之一,可以通过绑定函数来实现点击按钮时执行特定的操作。 在PyQt5中,可以使用QPushButton类创建按钮,并使用clicked信号将按钮的点击事件与相应的函数绑定起来。以下是一个示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton # 定义按钮点击事件的函数 def button_click(): print("按钮被点击了!") app = QApplication(sys.argv) window = QWidget() # 创建按钮 button = QPushButton("点击我", window) button.setGeometry(100, 100, 100, 50) # 设置按钮位置和大小 # 绑定按钮点击事件 button.clicked.connect(button_click) window.show() sys.exit(app.exec()) ``` 在上述代码中,首先导入了必要的模块和类。然后,定义了一个名为`button_click`的函数,用来处理按钮被点击时的操作,在本例中,该函数会简单地打印一条消息。 接下来,创建了一个应用程序对象`app`和一个窗口对象`window`。然后,使用QPushButton类创建了一个名为`button`的按钮,并通过`setGeometry`方法设置了按钮的位置和大小。最后,使用`button.clicked.connect(button_click)`将按钮的clicked信号与`button_click`函数绑定起来,当按钮被点击时,会执行`button_click`函数中的代码。 最后,通过调用`window.show()`显示窗口,并执行`app.exec()`启动应用程序的事件循环。 通过上述代码,我们可以实现按钮绑定函数的功能,当用户点击按钮时,相应的函数将会被调用,从而实现我们想要的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值