PyQt——按钮类控件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_())

在这里插入图片描述

PyQt的按钮设置主要包括:按钮内容、字体、按钮大小、快捷键、触发事件。
self.btn = QtGui.QPushButton(u'<<(L)', self)
self.btn.setFont(QtGui.QFont('Microsoft YaHei', 10))
self.btn.setStyleSheet(
                                 "QPushButton{color:rgb(101,153,26)}" #按键前景色
                                 "QPushButton{background-color:rgb(198,224,205)}"  #按键背景色
                                 "QPushButton:hover{color:red}" #光标移动到上面后的前景色
                                 "QPushButton{border-radius:6px}"  #圆角半径
                                 "QPushButton:pressed{background-color:rgb(180,180,180);border: None;}" #按下时的样式
                                 )
self.btn.resize(self.btn.sizeHint())#其中 self.btn.sizeHint() 即返回一个合适的大小,一般是系统根据按键上的内容自动调后的尺寸。
self.btn.setShortcut('L')
self.btn.clicked.connect(self.last)
 
#self.btn.setEnabled(True) #禁用
#self.btn.setEnabled(False) #放开
设置 QPushButton 样式及点击时 QPushButton:pressed 的样式
button.setStyleSheet(''' 
                     QPushButton
                     {text-align : center;
                     background-color : white;
                     font: bold;
                     border-color: gray;
                     border-width: 2px;
                     border-radius: 10px;
                     padding: 6px;
                     height : 14px;
                     border-style: outset;
                     font : 14px;}
                     QPushButton:pressed
                     {text-align : center;
                     background-color : light gray;
                     font: bold;
                     border-color: gray;
                     border-width: 2px;
                     border-radius: 10px;
                     padding: 6px;
                     height : 14px;
                     border-style: outset;
                     font : 14px;}
                     ''')

Qt样式表示例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值