PyQt5零基础入门(八)——按钮控件(QPushButton、QToolButton)

本文介绍了在Qt框架中,QPushButton和QToolButton两种按钮控件的使用,包括设置图标、文本布局以及各自的特点,如QPushButton用于常规操作,而QToolButton更适合工具栏中的快捷功能。
摘要由CSDN通过智能技术生成

前言

按钮控件是图形用户界面(GUI)中常用的交互元素,用于触发特定的事件或行为。在Qt框架中,QPushButton和QToolButton是两种常用的按钮控件。

后边我们将以test.png为按钮图标,对比使用两种按钮控件。

普通按钮控件(QPushButton)

QPushButton是一个标准的按钮控件,用户可以点击它来触发某个动作。当按钮被点击时,它会发出一个信号,可以通过连接到一个槽函数来执行某个动作。

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


class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.button = QPushButton('demo')
        self.button.setIcon(QIcon('test.png'))
        self.button.setFlat(True)
        self.button.clicked.connect(lambda:self.button.setEnabled(False))

        h_layout = QHBoxLayout()
        h_layout.addWidget(self.button)
        self.setLayout(h_layout)


if __name__ == '__main__':
    app = QApplication([])
    win = Window()
    win.show()
    sys.exit(app.exec())


运行结果如下:
在这里插入图片描述

在上述代码中,可以通过setIcon来设置图标,setFlat参数设置为True时可以隐藏按钮边框,如果要禁用按钮,可以用setEnabled(False)来实现。

工具按钮控件(QToolButton)

QToolButton是一个工具栏按钮,通常用在工具栏中。它比标准的QPushButton更小,并且设计用于工具栏上下文。它的外观通常更简洁,只有图标或图标和简短的标签。和QPushButton类似,但它通常与工具栏关联,用于快速访问常用功能或命令。

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


class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.button = QToolButton()
        self.button.setToolTip('这是提示')
        self.button.setToolTipDuration(1000)

        self.button.setIcon(QIcon('test.png'))
        self.button.setIconSize(QSize(50, 50))

        self.button.setText('工具按钮')
        self.button.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        h_layout = QHBoxLayout()
        h_layout.addWidget(self.button)
        self.setLayout(h_layout)


if __name__ == '__main__':
    app = QApplication([])
    win = Window()
    win.show()
    sys.exit(app.exec())

运行结果如下:

在这里插入图片描述
在上述代码中,调用setToolTip方法设置按钮的提示文本,setToolTipDuration设置显示文本显示时间,这里使用的1000代表的是1s。通过这个设置,当鼠标移动到按钮中时会显示提示文本,效果如下:
在这里插入图片描述
如果要在工具按钮上显示文本,可以使用setText。同时可以使用setToolButtonStyle设置图标和文本的相对位置。

图标与文本的相对位置设置

常量描述
Qt.ToolButtonIconOnly只显示图标
Qt.ToolButtonTextOnly只显示文本
Qt.ToolButtonTextBesideIcon将文本显示在图标右侧
Qt.ToolButtonTextUnderIcon将文本显示在图标下方
Qt.ToolButtonFollowStyle遵循QStyle样式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾醒(AiXing-w)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值