[PyQt5] Four, QToolButton

function list

1. First understanding of tool buttons

  • setText(): Set the prompt text of the button
  • setIcon(QIcon()): Set button icon
  • setIconSize(QSize): Set the icon size
  • setToolTip(str): When the icon and the prompt text appear at the same time, only the icon is displayed. Through this, you can set different prompt texts

2. Style setting

  • setToolButtonStyle(Qt.ToolButtonStyle)
  • The style of Qt.ToolButtonStyle has the following values:
    Qt.ToolButtonIconOnly: Only the icon is displayed
    Qt.ToolButtonTextOnly: Only the text is displayed
    Qt.ToolButtonTextBesideIcon: The text is displayed next to the icon
    Qt.ToolButtonTextUnderIcon: The text is displayed below the icon
    Qt.ToolButtonFollowStyle: Follow the style

3. Arrow style

  • setArrowType(Qt.ArrowType)
  • The style of Qt.ArrowType is as follows:
    Qt.NoArrow: No Arrow
    Qt.UpArrow: Up Arrow
    Qt.DownArrow: Down Arrow
    Qt.LeftArrow: Left Arrow
    Qt.RightArrow: Right Arrow

4. Automatic upgrade

  • setAutoRaise(Bool): True: auto-raise

5. Menu and pop-up method

  • setPopupMode(QToolButton.ToolButtonPopupMode)
  • The style of QToolButton.ToolButtonPopupMode is as follows:
    QToolButton.DelayedPopup: Press and hold the mouse for a while to display the menu
    QToolButton.MenuButtonPopup: There is a prompt arrow for a special prompt
    QToolButton.InstantPopup: Click the button to display the menu

sample source code

# -*- coding: UTF-8 -*-
"""
# @Author: 爱打瞌睡的CV君
# @CSDN: https://blog.csdn.net/qq_44921056
"""
from PyQt5.Qt import *
import sys


# 1. 创建一个应用程序对象
app = QApplication(sys.argv)

# 2. 控件的操作
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("QToolButton使用")
window.resize(500, 500)

"""
工具按钮初了解
setText():设置按钮提示文本
setIcon(QIcon()):设置按钮图标
setIconSize(QSize):设置图标大小
setToolTip(str):因为图标和提示文本同时出现时,只显示图标。通过这个可以设置不一样的提示文本
"""
# btn = QToolButton(window)
# btn.setText("按钮1")
# btn.setIcon(QIcon("xxx.png"))
# btn.setIconSize(QSize(50, 50))
# btn.setToolTip("这是一个新建按钮")  # 需要在按钮上悬停一会才能看到效果

"""
样式设置
setToolButtonStyle(Qt.ToolButtonStyle)
Qt.ToolButtonStyle的风格有以下取值:
Qt.ToolButtonIconOnly:仅显示图标
Qt.ToolButtonTextOnly:仅显示文字
Qt.ToolButtonTextBesideIcon:文本显示在图标旁边
Qt.ToolButtonTextUnderIcon:文本显示在图标下方
Qt.ToolButtonFollowStyle:遵循风格
"""
# btn = QToolButton(window)
# btn.setText("按钮1")
# btn.setIcon(QIcon("xxx.png"))
# btn.setIconSize(QSize(50, 50))
# btn.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

"""
箭头样式
setArrowType(Qt.ArrowType)
Qt.ArrowType的风格如下:
Qt.NoArrow:无箭头
Qt.UpArrow:向上箭头
Qt.DownArrow:向下箭头
Qt.LeftArrow:向左箭头
Qt.RightArrow:向右箭头
"""
# btn = QToolButton(window)
# btn.setArrowType(Qt.RightArrow)

"""
自动提升
setAutoRaise(Bool):True:自动提升
"""
# btn = QToolButton(window)
# btn.setText("按钮1")
# btn.setAutoRaise(True)

"""
菜单及弹出方式
setPopupMode(QToolButton.ToolButtonPopupMode)
QToolButton.ToolButtonPopupMode的风格如下:
QToolButton.DelayedPopup:鼠标按住一会才显示菜单
QToolButton.MenuButtonPopup:有一个专门提示的提示箭头
QToolButton.InstantPopup:点了按钮就显示菜单
"""
# btn = QToolButton(window)
# btn.setText("按钮1")
#
# menu = QMenu(btn)
#
# sub_menu = QMenu(menu)  # 子菜单
# sub_menu.setTitle("子菜单")
# sub_menu.setIcon(QIcon("xxx.png"))
#
# action = QAction(QIcon("xxx.png"), "行为1", menu)
# action.triggered.connect(lambda: print("点击了行为"))
#
# menu.addMenu(sub_menu)  # 添加子菜单
# menu.addSeparator()  # 添加分割线
# menu.addAction(action)  # 添加行为动作
#
# btn.setMenu(menu)  # 按钮添加菜单
#
# btn.setPopupMode(QToolButton.InstantPopup)  # 设置菜单弹出方式

# 2.3 展示控件
window.show()
# 3. 应用程序的执行, 进入到消息循环
sys.exit(app.exec_())

Guess you like

Origin blog.csdn.net/qq_44921056/article/details/128569496