PyQt5基础学习-QPushButton按钮 1.设置选中翻转(QPushButton().toggle()) 2.在文本前显示图像 (QPushButton().setIcon) 3.设置按钮不可被选中(QPushButton().setEnabled(False)) 4.设置Enter输入点击按钮(QPushButton().setDefault(True)))5.lambda构造输入

在调用函数的时候,可能需要传入参数,因此使用lambda来构造函数进行传入

 self.button4.clicked.connect(lambda: self.whichButton(self.button4))

QPushButtonDemo.py 

复制代码
"""
按钮控件 (QPushButton)

QAbstractButton

QPushButton
AToolButton
QRadioButton
QCheckBox
"""

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class QPushButtonDemo(QDialog):
    def __init__(self):
        super(QPushButtonDemo, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("QPushButton Demo")

        layout = QVBoxLayout()

        self.button1 = QPushButton("第一个按钮")
        self.button1.setText('First Button')
        #按第一次处于选中的状态
        self.button1.setCheckable(True)
        self.button1.toggle()
        self.button1.clicked.connect(lambda: self.whichButton(self.button1))
        self.button1.clicked.connect(self.buttonState)
        layout.addWidget(self.button1)

        # 在文本前面显示图像
        self.button2 = QPushButton('图像按钮')
        self.button2.setIcon(QIcon(QPixmap("D:\QTStudy\Picture\ic.png")))
        self.button2.clicked.connect(lambda: self.whichButton(self.button2))
        layout.addWidget(self.button2)
        
        #设置按钮为不可选中
        self.button3 = QPushButton("不可用的按钮")
        self.button3.setEnabled(False)
        layout.addWidget(self.button3)
        
        #按住Enter键时, 默认按住这个按钮
        self.button4 = QPushButton("&MyButton")
        self.button4.setDefault(True)
        self.button4.clicked.connect(lambda: self.whichButton(self.button4))

        layout.addWidget(self.button4)

        self.setLayout(layout)

        self.resize(400, 300)

    def buttonState(self):
        if self.button1.isChecked():
            print("按钮1已经被选中")
        else:
            print("按钮1未被选中")

    def whichButton(self, btn):
        print('被单机的按钮是<' + btn.text() + '>')

if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = QPushButtonDemo()
    main.show()

    sys.exit(app.exec_())
复制代码

 

posted @   c语言我的最爱  阅读(1103)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示