Pyside6-第三篇-QToolButton一个奇葩的按钮

news2024/11/26 14:44:15

今天是Pyside6的第三篇内容。一起来看另一个按钮。

QToolButton。

from PySide6.QtWidgets import QToolButton, QWidget, QApplication

app = QApplication([])

win = QWidget()
win.setWindowTitle("QToolButton按钮")

btn = QToolButton(win)
btn.setText("触发")
btn.move(50, 50)

win.show()
app.exec()
e1d1f202a8163bcd095be3567e3270fd.png

它跟QPushButton有什么区别?

QToolButton更适合用于创建带有图标、文本或菜单的工具栏按钮。
功能:QToolButton可以显示一个下拉菜单,而QPushButton不能。
大小:QToolButton通常比QPushButton更小,因为它们通常用于工具栏或工具箱中。QPushButton通常用于窗口中,因此它们通常比QToolButton大。
用途:QToolButton通常用于需要提供更多功能或选项的场景,比如工具栏或工具箱。QPushButton则通常用于执行某个操作或触发某个事件的场景,比如提交表单或打开文件。

一起看看它跟PushButton的UI。

from PySide6.QtWidgets import QToolButton, QWidget, QApplication, QPushButton

app = QApplication([])

win = QWidget()
win.setWindowTitle("QToolButton按钮")

btn = QToolButton(win)
btn.setText("触发")
btn.move(50, 50)

Pbtn = QPushButton(win)
Pbtn.setText("触发QP")
Pbtn.move(50, 70)

win.show()
app.exec()
96328d4310c4d13c9957303a02b629be.png

QToolButton制作下拉列表

以下写法先做了解,后续代码中,我哦们都将以这样的写法来输出。

from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QToolButton, QMenu
import sys


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('QToolButton')

        # 创建一个QToolButton
        tool = QToolButton(self)
        tool.setText('欢迎关注')
        # 设置弹出模式
        tool.setPopupMode(QToolButton.MenuButtonPopup)

        # 在QToolButton中添加一个下拉菜单
        menu = QMenu(self)
        action1 = QAction('QING AN', self)
        action2 = QAction('V: qing_an_an', self)
        menu.addAction(action1)
        menu.addAction(action2)
        tool.setMenu(menu)

        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec())
421122ac69f69da13679009d330c2a05.png

其他功能

其他的基本与QPushButton没有什么太大的区别了。简单的列举两个QToolButton其他的用法例子。

from PySide6.QtCore import Qt
from PySide6.QtGui import QAction, QIcon
from PySide6.QtWidgets import QApplication, QWidget, QToolButton, QMenu
import sys


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('QToolButton')

        # 创建一个QToolButton
        tool = QToolButton(self)
        tool.setText('欢迎关注')
        tool.setIcon(QIcon("图标.png"))
        # 设置图标与文字并排显示
        tool.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
        # 设置弹出模式
        tool.setPopupMode(QToolButton.MenuButtonPopup)

        # 在QToolButton中添加一个下拉菜单
        menu = QMenu(self)
        action1 = QAction('QING AN', self)
        action2 = QAction('V: qing_an_an', self)
        menu.addAction(action1)
        menu.addAction(action2)
        tool.setMenu(menu)

        self.show()

        menu.triggered.connect(self.get_text)

    def get_text(self,txt):
        t = txt.text()
        print(t)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec())
c71172bdc8dd905a7f6cc3a22ee1ee5b.png

上述的信号与槽内容, 会在后续讲到,此处只需要知道这样用即可

补充

QToolButton不能跟QPushButton一样QPushButton("",self)的写法,它需要分开来写。

最后:笔记代码存在了: https://gitee.com/qinganan_admin/Pyside6_Information

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/587332.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cell揭秘--慢性压力如何导致肠道炎症

大脑产生的信号传导到肠道神经细胞,导致炎症化学物质的释放。 溃疡性结肠炎患者的肠道组织(人工着色)。图片来源: Steve Gschmeissner/Science Photo Library 心理压力会加重某些肠道疾病引起的肠道炎症。现在,科学家们找到了原因…

初学QT(Day05)

继续第四天的demo 总结了之前的经验教训,我重新开一个项目项目,先给出demo的结果吧,第一张是第一次写的demo,第二张图是成品的demo 结果还是比较满意的,虽然过程中有遇到的问题不是我自己独立解决的。。。相比于第…

GPT-4能否取代数据分析师?达摩院的初步实验为你解答~

深度学习自然语言处理 原创作者 | 刘嘉玲 最近,数据分析师圈子大家在讨论GPT-4对他们的工作有什么影响:是替代还是辅助?个人认为GPT-4可以帮助我提高工作效率和质量。 要成为一名高级的数据分析师,需要经过长期的学习和实践&#…

无代码玩转GIS应用,我也在行【文末送书】

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

jQuery-图片跟随

<!DOCTYPE html > <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>图片跟随 </title> <style type"text/css"> body { text-align: center; …

【配电网重构】基于改进二进制粒子群算法的配电网重构研究(Matlab代码实现

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

使用FPGA进行 AI 火灾定位-FirAI

部署在 FPGA 上加速的 AI 火灾侦查。助力消防人员快速应对火灾事故~ 绪论 问题&#xff1a;近年来&#xff0c;不断增加的城市人口、更复杂的人口密集建筑以及与大流行病相关的问题增加了火灾侦查的难度。因此&#xff0c;为了增强消防人员对火灾事件的快速反应&#xff0c;安装…

delmia机器人建模与装配

1 可以用catia中的模型或其他三维建模软件中的模型转化为step格式即可 2 在demlia中打开 3 打开单个零件保存为cgr格式 对机械臂所有零件都做同样的转化 4 新建装配设计&#xff0c;并导入带有坐标的零件 将转化后的零件都选中导入即是装配好的 5 将模式修改为device buildin…

用户行为数据采集:常见埋点方案优劣势对比及选型建议

数据采集是大数据的基石&#xff0c;用户在使用App、微信小程序等各种线上应用产生的行为&#xff0c;只有通过埋点才能进行采集。没有埋点&#xff0c;数据分析决策、数据化运营都是无源之水&#xff0c;巧妇难为无米之炊。但很多时候&#xff0c;“埋点”两个字却成了C端产品…

STM32——关于NVIC讲解及标准库应用(基础篇)

简介&#xff1a; NVIC是指STM32中的中断控制器&#xff08;Nested Vectored Interrupt Controller&#xff09;。中断是STM32中的重要机制&#xff0c;通过中断可以实现异步事件处理。NVIC提供了灵活、高效、可扩展的中断处理机制&#xff0c;支持多级优先级、多向中断、嵌套向…

深入理解网络协议

hi 大家好&#xff0c;之前带小伙伴&#xff0c;一起复习了一遍网络协议&#xff0c;对网络协议的核心知识进行梳理&#xff0c;希望大家早日掌握这些核心知识&#xff0c;打造自己坚实的基础&#xff0c;为自己目标慢慢积累&#xff0c;厚积薄发。 详细点击查看-> 极客星球…

傅一平:一文讲透ERP的下一代架构!

”5月22日&#xff0c;华为宣布仅用15小时便完成了全球88家子公司MetaERP系统的切换。这也意味着华为MetaERP系统研发取得胜利&#xff0c;成功摆脱外国供应商断供停服威胁&#xff0c;实现该系统的全栈自主可控。“ 自己最近对ERP下一代架构有了兴趣&#xff0c;原因有四个&am…

阿里拆成1+6+N,中台还搞不搞了?

&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3; &#x1f38d;大家好&#xff0c;我是慕枫 &#x1f38d;前阿里巴巴高级工程师&#xff0c;InfoQ签约作者、阿里云专家博主&#xff0c;一直致力于用大白话讲解技术知识 &#x…

推荐 6 个上周 火火火 的开源项目

本期推荐开源项目目录&#xff1a; 1. ChatGPT 网页应用&#xff08;AI&#xff09; 2. AI 换脸&#xff08;AI&#xff09; 3. API 调用 Midjourney 进行 AI 画图&#xff08;AI&#xff09; 4. 如何使用 Open AI 的 API&#xff1f;&#xff08;AI&#xff09; 5. 中华古诗词…

写在2023年乐夏前

&#xff08;1&#xff09;白衬衣的少年 勇敢的你 站在这里 脸庞清瘦却骄傲 &#xff08;2&#xff09;来啊&#xff0c;一起摇摆啊 这首歌发表在2016年。那时候的他们已经功成名就&#xff0c;彭磊却还能写出这样的词。 纸醉金迷不应该是&#xff1a;防晒霜、付税单、玫瑰金、…

Python海龟有了新技能,这回画了个印度美女。Python海龟洪水填充命令fill的用法

Python海龟有了新技能&#xff0c;这回画了个印度美女。看官想一想&#xff0c;如果要填充圆环区域&#xff0c;该如何填充呢&#xff1f;Python的海龟模块本质是对凸多边形的填充&#xff0c;对于凹多边形的填充无法胜任。 真正的Python海龟绘图在这&#xff0c;视频里还有点…

AI绘画真的是太神奇!

最近会员群的同学一直研究AI绘画&#xff0c;AI技术真的太神奇了&#xff0c;以前是插画师的看家本领&#xff0c;现在通过AI技术一下子让平头老百姓也能有这样的技能&#xff01;好像路痴有了导航也能开车了。最近在研究如何利用AI做卡通头像&#xff0c;发现这个不仅好玩&…

深度图解 Redis Hash(散列表)实现原理

1. 是什么 Redis Hash&#xff08;散列表&#xff09;是一种 field-value pairs&#xff08;键值对&#xff09;集合类型&#xff0c;类似于 Python 中的字典、Java 中的 HashMap。一个 field 对应一个 value&#xff0c;你可以通过 field 在 O(1) 时间复杂度查 field 找关联的…

更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序

之前公司一直使用的是ASP.NET Boilerplate (ABP)&#xff0c;但是当解决方案变得很大时&#xff0c;项目启动就变得非常慢&#xff0c;虽然也想了一些办法&#xff0c;将一些基础模块做成Nuget包的形式&#xff0c;让整个解决方案去引用。但是整个项目还是很臃肿&#xff0c;各…

双轴高精度倾角传感器安装方式和485协议

倾角安装注意事项 在安装传感器时&#xff0c;不正确安装会导致测量角度误差偏大。安装时请注意以下两点&#xff1a; 1.“两面”指安装面与被测物体的安装面紧靠&#xff08;被测物体的安装面要尽可能水平&#xff09;&#xff0c;不能有夹角产生&#xff08;如A图中的角a&a…