pyqt5 下拉 多页 点击_PyQt5学习笔记(三)各类按钮、下拉列表、滑块和计时器控件...

这篇博客详细介绍了PyQt5中的一些常见控件的使用,包括QPushButton、QRadioButton、QCheckBox、QComboBox、QSlider和QSpinBox。示例代码展示了如何创建、设置和响应这些控件的事件,如按钮的文字、图标、状态,单选按钮和复选框的选择状态,下拉列表的选项添加,滑块的范围和步长,以及计数器的数值修改。
摘要由CSDN通过智能技术生成

按钮控件(QPushButton)

import sys

from PyQt5.QtWidgets import *

from PyQt5.QtGui import *

from PyQt5.QtCore import *

class QPushButtonDemo(QDialog):

def __init__(self):

super(QPushButtonDemo, self).__init__()

self.initUI()

def initUI(self):

self.setWindowTitle("QPushButton Demo")

self.resize(400, 300)

layout = QVBoxLayout()

# 创建button时可以设置button上的文本

self.button1 = QPushButton("第1个按钮")

# 也可以通过setText方法来设置button的文本

self.button1.setText("First Button1")

# 设置按钮类型为按下后不回弹起

self.button1.setCheckable(True)

# 绑定按钮和槽函数,其中使用lambda表达式来规定信号传入槽函数的参数

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

# 按钮再绑定一个槽函数

self.button1.clicked.connect(self.buttonState)

# 在文本前显示图像

self.button2 = QPushButton("图像按钮")

self.button2.setIcon(QIcon("./image/pic1.ico"))

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

# 设置一个不可用的按钮

self.button3 = QPushButton("不可用")

self.button3.setEnabled(False)

# 设置一个热键为Alt+M,且为默认按钮的按钮

self.button4 = QPushButton("&MyButton")

self.button4.setDefault(True)

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

layout.addWidget(self.button1)

layout.addWidget(self.button2)

layout.addWidget(self.button3)

layout.addWidget(self.button4)

self.setLayout(layout)

def buttonState(self):

if self.button1.isCheckable():

print("按钮1已经被选中")

else:

print("按钮1未被选中")

def whichButton(self, btn):

print("被单击的按钮是")

if __name__ == '__main__':

app = QApplication(sys.argv)

main = QPushButtonDemo()

main.show()

sys.exit(app.exec_())

运行效果:

可以看到,按钮的文本有两种设置方法,一种是在设置QPushButton对象时,填入按钮名称,作为参数创建一个;第二种是在创建完后,使用QPushButton对象的setText()方法设置。

此处,我们还使用了setCheckable()(设为True)来将按钮设置为按下去不会弹起。

与其他的控件对象类似,QPushButton对象可以通过setIcon()对象来设置按钮的图标,参数是一个可以用图片的文件路径初始化的QIcon对象。

注意到这里的信号和槽函数绑定操作使用了lambda表达式,作用是指定信号触发后&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值