属性介绍

toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式:

1、DelayedPopup(值为0):按住toolButton一定时间(超时取决于样式,请参见QStyle.SH_ToolButton_PopupDelay)后,将显示菜单。典型的应用程序示例是一些web浏览器工具栏中的“后退”按钮。如果用户单击它,浏览器只需浏览回上一页。如果用户按下并按住按钮一段时间,工具按钮将显示包含当前历史列表的菜单;

2、MenuButtonPopup(值为1):在此模式下,toolButton显示一个特殊箭头,指示有弹出菜单存在。当按下toolButton上的箭头一部分时,将弹出菜单;

3、InstantPopup(值为2):按下toolButton时,立即显示弹出菜单。toolButton自己对应的Action不会触发。

缺省类型为DelayedPopup,可以通过popupMode()、setPopupMode(ToolButtonPopupMode mode)来读取和设置该属性。

案例

1、案例说明

在一个mainWindow中,设置了个system菜单,system菜单包含Quit和About两个菜单项以及工具栏,对应动作分别为actionQuit和actionAbout。在窗口中部署了个toolButton按钮,界面信息如下:

Quit菜单对应动作为关闭窗口,与系统槽函数close()关联,About菜单对应动作为显示一个提示信息,与自定义槽函数about()关联。

该界面对应的派生类定义如下:

class Ui_mainWindowWin(QtWidgets.QMainWindow,mainWinTest.Ui_MainWindow):

def __init__(self):

super(Ui_mainWindowWin, self).__init__()

self.setupUi(self)

self.toolButton.setDefaultAction(self.actionAbout) #将toolButton的点击与actionAbout关联

self.toolButton.setMenu(self.menusystem) #将窗口菜单同时设置为toolButton的弹出菜单

def about(self):

print("In about")

QMessageBox.information(self,'About','This is a toolButton test!',QMessageBox.Ok)

案例1、将弹出模式设置为DelayedPopup

对应toolButton设置信息如下:

运行后初始界面如下:

可以看到直接点击toolButton并立即释放按钮会显示About信息,如下:

但当点击后不立即释放后弹出了菜单,如图:

案例2、将弹出模式设置为MenuButtonPopup

对应toolButton设置信息如下:

运行后初始界面如下:

点击上图中按钮非右边朝下箭头部分显示About信息,如图:

点击图中按钮右边朝下箭头部分则弹出菜单,如图:

案例3、将弹出模式设置为InstantPopup

对应toolButton设置信息如下:

初始运行界面如下:

点击toolButton的任何部分都显示弹出菜单,如图:

大家可以对照这三个案例与上面介绍来验证。

老猿Python,跟老猿学Python!

python qt 按钮_PyQt(Python+Qt)学习随笔:toolButton的popupMode属性相关推荐

  1. python numpy库的简单使用学习随笔(一)

    一.numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算, ...

  2. PyQt(Python+Qt)学习随笔:Designer中属性设置界面的属性字体使用粗黑体的含义

    老猿Python博文目录 老猿Python博客地址 使用了好几个月的Designer,今天才发现属性编辑界面的属性名有的为粗而黑,有的则不是,如图: 稍微测试了一下,发现是对属性值进行过调整,不再是缺 ...

  3. python计算机图形学_图形图像学习随笔:计算机图形学的一些基本概念

    本文内容摘抄于:<计算机图形学的概念> 一.计算机图形学的范畴 1.图形主要分为两类,一类是基于线条信息表示的,如工程图.等高线地形图.曲面的线框图等:另一类是明暗图,也就是通常所说的真实 ...

  4. python处理wps数据用xlwings_Python学习随笔:使用xlwings读取和操作Execl文件

    一.背景 有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一 ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性

    accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...

  6. python rowcount_PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法...

    老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的行数.列数.当前项.当前行.当前列等属性访问方法. 1.行数rowCount QTableWidge ...

  7. PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中当前列currentColumn和选中项selectedItems访问方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 当前列访问方法 树型部件QTreeWidget的currentColumn()方法返回当前项中得到焦 ...

  8. PyQt(Python+Qt)学习随笔:QScrollArea的widgetResizable属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域的widgetResizable属性用于控制滚动区域的内容部署层是否应跟随滚动区域的大小变化 ...

  9. PyQt(Python+Qt)学习随笔:纯文本编辑器QPlainTextEdit功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QPlainTextEdit是用于纯文本的一个高级文档编辑器 ...

最新文章

  1. 用它调试线上 bug,真得劲 | webconsole
  2. python自动整理文件夹_计算机文件和文件夹的Python自动管理,自动化,电脑,及
  3. 这13个开源GIS软件,你了解几个?【转】
  4. boost::hana::make_lazy用法的测试程序
  5. 【计蒜客 - 2019南昌邀请赛网络赛 - I】Max answer(单调栈,RMQ)
  6. linux ps 详解 博客,Linux PS 命令 详解(转)
  7. 如何在data visualization 中update svg_如何操作小程序页面中data数据区中的数据
  8. 酸奶小妹升级成酸奶妈妈了!
  9. 我笑了一天的签名。。。
  10. javascript 弹出层(警告框)的制作(css元素居中、javascript元素居中)
  11. Command(命令)
  12. Java高并发编程实战4,synchronized与Lock底层原理
  13. 桌面美化 Python tkinter倒计时工具
  14. OPENG 获取状态的一些枚举值
  15. python 移动平均线_使用python计算简单移动平均线
  16. (一)、apache doris 介绍
  17. 微信支付失败-1彻底扫坑
  18. 2022-2028年中国林业碳汇行业市场发展规模及投资机会分析报告
  19. 【Unity】角色动画控制
  20. 手机电视机屏幕分辨率

热门文章

  1. 「原创」从马云、马化腾、李彦宏的对话,看出三人智慧差在哪里?
  2. pyotherside 试用
  3. iredmail邮件服务器之修改默认的web服务端口号
  4. linux虚拟光驱挂载方法,Linux操作系统下虚拟光驱(iso)的挂载
  5. VMware Workstation 网络设置解释三种
  6. 当使用easyui时,jquery的设置disabled属性方法失效
  7. not support mysql_MYSQL出现quot; Client does not support authentication quot;的解决方法
  8. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc
  9. opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk
  10. [转载] c++多态与java多态性_Java中的多态性