当前位置: 首页 > article >正文

PyQt6 QToolButton工具按钮控件

​锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计32条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

QToolButton控件是一个工具按钮,它本质上是一个按钮,只是在按钮中提供了默认文本“…”和可选的箭头类型;

QToolButton控件的使用方法与QPushButton类似,不同的是,QToolButton控件可以设置工具按钮的显示样式和箭头类型,其中,工具按钮的显示样式通过QToolButton类的setToolButtonStyle()方法进行设置;

工具按钮的箭头类型通过QToolButton类的setArrowType()方法进行设置;

1、工具按钮初了解 setText():设置按钮提示文本 setIcon(QIcon()):设置按钮图标 setIconSize(QSize):设置图标大小 setToolTip(str):因为图标和提示文本同时出现时,只显示图标。通过这个可以设置不一样的提示文本 2、样式设置 setToolButtonStyle(Qt.ToolButtonStyle) Qt.ToolButtonStyle的风格有以下取值: Qt.ToolButtonIconOnly:仅显示图标 Qt.ToolButtonTextOnly:仅显示文字 Qt.ToolButtonTextBesideIcon:文本显示在图标旁边 Qt.ToolButtonTextUnderIcon:文本显示在图标下方 Qt.ToolButtonFollowStyle:遵循风格 3、箭头样式 setArrowType(Qt.ArrowType) Qt.ArrowType的风格如下: Qt.NoArrow:无箭头 Qt.UpArrow:向上箭头 Qt.DownArrow:向下箭头 Qt.LeftArrow:向左箭头 Qt.RightArrow:向右箭头 4、自动提升 setAutoRaise(Bool):True:自动提升 5、菜单及弹出方式 setPopupMode(QToolButton.ToolButtonPopupMode) QToolButton.ToolButtonPopupMode的风格如下: QToolButton.DelayedPopup:鼠标按住一会才显示菜单 QToolButton.MenuButtonPopup:有一个专门提示的提示箭头 QToolButton.InstantPopup:点了按钮就显示菜单

UI生成参考代码:

# Form implementation generated from reading ui file 'QPushButton按钮控件.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt6 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.toolButton = QtWidgets.QToolButton(parent=Form)
        self.toolButton.setGeometry(QtCore.QRect(180, 90, 61, 41))
        self.toolButton.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("C:/Users/java1234/Desktop/tool.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.toolButton.setIcon(icon)
        self.toolButton.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.MenuButtonPopup)
        self.toolButton.setAutoRaise(False)
        self.toolButton.setArrowType(QtCore.Qt.ArrowType.NoArrow)
        self.toolButton.setObjectName("toolButton")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))


http://www.kler.cn/a/156033.html

相关文章:

  • GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
  • 天才的懈怠 : 平衡二叉树
  • 【p2p、分布式,区块链笔记 DAM】GUN/SEA(Security, Encryption, Authorization) 模块genkey
  • OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示
  • AI写作(四)预训练语言模型:开启 AI 写作新时代(4/10)
  • 即插即用篇 | YOLOv8 引入 代理注意力 AgentAttention
  • Nacos源码解读04——服务发现
  • linux 内核regulator
  • 记录 | linux查看文件夹大小
  • 【c++随笔15】c++常用第三方库
  • 浅学指针(5)sizeof和strlen的进阶理解
  • k8s安装步骤
  • Pandas实战:电商平台用户分析
  • 【一个超简单的爬虫demo】探索新浪网:使用 Python 爬虫获取动态网页数据
  • android studio安装SDK时无法勾选
  • 逻辑漏洞测试靶场实验
  • vue $nextTick 样式私有化
  • 设计模式--观察者模式(Observer Pattern)
  • 如何熟练使用vim工具?
  • spring boot的redis连接数过多导致redis服务器压力过大的一次问题排查
  • 数据挖掘之时间序列分析
  • 万界星空科技灯具行业MES介绍
  • 【java毕业设计源码】基于SSM框架的在线智能题库管理系统设计与实现
  • TensorRT安装及使用教程(ubuntu系统部署yolov7)
  • 解决浏览器缓存问题
  • 基于算能的国产AI边缘计算盒子8核心A53丨17.6Tops算力