热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:PyQt5之QToolButton工具按钮

具按钮,一般在工具栏中显示,工具栏中的工具按钮一般只显示图标,供用户快捷的使用一些功能,它继承自QAbstractButton

具按钮,一般在工具栏中显示,工具栏中的工具按钮一般只显示图标,供用户快捷的使用一些功能,它继承自QAbstractButton

一、常用API

1、setToolButtonStyle(Qt.ToolButtonTextBesideIcon):工具按钮样式

Qt.ToolButtonIconOnly 只显示图标(默认风格)
Qt.ToolButtonTextOnly 只显示文本
Qt.ToolButtonTextBesideIcon 文本显示在图标旁
Qt.ToolButtonTextUnderIcon 文本显示在图标下方
Qt.ToolButtonFollowStyle 遵循风格

2、setArrowType(Qt.ArrowType)

Qt.NoArrow 无箭头
Qt.UpArrow 向上箭头
Qt.DownArrow 向下箭头
Qt.LeftArrow 向左箭头
Qt.RightArrow 向右箭头

3、setAutoRaise(bool)

自动提示是一个按钮的效果,指的是按键扁平化,但是当光标接触按键时候

4、setPopupMode(QToolButton.InstantPopup)

QToolButton.DelayedPopup 延时打开

QToolButton.MenuButtonPopup  添加一个箭头

QToolButton.InstantPopup  立刻打开,点击不发送点击信号

二、案例

from PyQt5.Qt import *
import sys
class Window(QWidget):
def __init__(self):
super().
__init__()
self.setWindowTitle(
QCommandLinkButton-使用)
self.resize(
500, 400)
self.setup_ui()
def setup_ui(self):
tb
= QToolButton(self)
tb.setText(
工具按钮)
tb.setIcon(QIcon(
xxx.png))
# tb.setIconSize(QSize(60, 60))
#tb.setToolTip(‘这是一个工具按钮‘)
# Qt.ToolButtonIconOnly
# 仅显示图标
# Qt.ToolButtonTextOnly
# 仅显示文字
# Qt.ToolButtonTextBesideIcon
# 文本显示在图标旁边
# Qt.ToolButtonTextUnderIcon
# 文本显示在图标下方
# Qt.ToolButtonFollowStyle
# 遵循风格
tb.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
# 自动提示是一个按钮的效果,指的是按键扁平化,但是当光标接触按键时候
tb.setAutoRaise(True)

menu
= QMenu(tb)

sub_menu
= QMenu(menu)
sub_menu.setTitle(
"子菜单")
sub_menu.setIcon(QIcon(
"xxx.png"))

action1
= QAction(QIcon("xxx.png"), "行为1", menu)
action1.setData([
1, 2, 3])
action2
= QAction("行为2", menu)
action2.setData({
"name": "sz"})
menu.addMenu(sub_menu)
menu.addSeparator()
menu.addAction(action1)
menu.addAction(action2)

tb.setMenu(menu)
# 菜单弹出模式
tb.setPopupMode(QToolButton.InstantPopup)
tb.clicked.connect(
lambda :print("工具按钮被点击了"))
def do_action(action):
print("点击了行为", action.data())
tb.triggered.connect(do_action)
# Qt.NoArrow
# 无箭头
# Qt.UpArrow
# 向上箭头
# Qt.DownArrow
# 向下箭头
# Qt.LeftArrow
# 向左箭头
# Qt.RightArrow
# 向右箭头
#设置箭头图标
tb.setArrowType(Qt.RightArrow)if __name__ == __main__:
app
= QApplication(sys.argv)
window
= Window()
window.show()
sys.exit(app.exec_())

技术图片

 


推荐阅读
  • 网上下载一段代码pythonspy++,代码不全,运行不稳点,运行总是退出,可能程序结构有问题,高手帮我改改, ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
  • 基于TensorFlow的Keras高级API实现手写体数字识别
    前言这个项目的话我也是偶然在B站看到一个阿婆主(SvePana)在讲解这个,跟着他的视频敲的代码并学习起来的。并写在自己这里做个笔记也为 ... [详细]
  • 开发笔记:深入解析libgdx游戏框架中的开源Java系统控件Button类的专题15
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了开源java游戏框架libgdx专题-15-系统控件-Button类相关的知识,希望对你有一定的参考价值。B ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • java线程实现图片滚动_Android线程实现图片轮播
    一、实现效果本篇文章实现了简单的图片轮播,初始化3张资源图片,初始化3秒更换一次图片背景,轮换播放。二、知识点Thread线程start( ... [详细]
  • Project2.cpp:定义应用程序的入口点。#includeframework.h#includeProject2.h#defineMAX_LOADSTRING100全 ... [详细]
  • $(function(){$(#search_button).button({icons:{primary:ui-icon-search,},});$(#reg).dialog({ ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有