命令按钮QPushButton

介绍

按钮的基类是QAbstractButton(粗象类),提供了按钮的通用性功能。

状态

状态描述
isDown()提示按钮是否被按下
isChecked()提供按钮是否已经标记
isEnable()提供按钮是否可以被用户点击
isCheckAble()提供按钮是否为可标记的
setAutoRepeat()设置按钮是否在用户长按时可以重复执行

信号

信号描述
Pressed当鼠标指针在按钮上并按下左键时触发该信号
Released当鼠标左键被释放时触发该信号
Clicked当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号
Toggled当按钮的标记状态发生改变时触发信号

QPushButton

QPushButton类继承自QAbstractButton类,其形状是长方形,文本标题或图标可以显示在长方形上,它是一种命令按钮,可以单击该按钮执行一些命令,或者响应一些事件。常见的有“确定”“申请”“取消”“关闭”“是”“否”按钮。
命令按钮通常通过文本来描述执行的动作,有时候也会通过快捷键来执行对应按钮的命令。

方法

方法描述
setCheckable()设置按钮是否已经被选中,如果设置为True,则表示按钮将保持已点击和释放状态
toggle()在按钮状态之间进行切换
setIcon()设置按钮上的图标
setEnabled()设置按钮是否可以使用,当设置为False时,按钮变成不可用状态,点击它不会发射信号
isChecked()返回按钮的状态。返回值为True和False
setDefault()设置按钮的默认状态
setText()设置按钮的显示文本
text()返回按钮的显示文本

快捷键

通过按钮的名字能为QPushButton设置快捷键,比如名字为“&Download”的按钮,它的快捷键是“Alt+D”。其规则是:想要实现快捷键为“Alt+D”,那么按钮的名字里就要有这个字母D,并且在字母D前面加入“&”。这个字母一般是按钮名称的首字母,而且在按钮显示时,“&”不会被显示出来,但字母D会显示一条下画线。如果只想显示“&”,那么需要像转义一样使用“&&”。

# 核心代码
self.button = QPushButton("&Download")
self.button.setDefault(True)

QPushButton的使用

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)
		layout = QVBoxLayout()

		self.btn1 = QPushButton("Button1")
		self.btn1.setCheckable(True)
		self.btn1.toggle()
		self.btn1.clicked.connect(lambda:self.whichbtn(self.btn1) )
		self.btn1.clicked.connect(self.btnstate)
		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) )
		layout.addWidget(self.btn2)
		self.setLayout(layout) 

		self.btn3 = QPushButton("Disabled")
		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))
		layout.addWidget(self.btn4)
		self.setWindowTitle("Button demo")

	def btnstate(self):
		if self.btn1.isChecked():
			print("button pressed" ) 
		else:
			print("button released" ) 

	def whichbtn(self,btn):
		print("clicked button is " + btn.text() ) 

if __name__ == '__main__':
	app = QApplication(sys.argv)
	btnDemo = Form()
	btnDemo.show()
	sys.exit(app.exec_())

使用展示

QPushButton

后记

刚刚做了一件勇敢的事情,我不知道能否成功,但是勇敢就行!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值