文章目录

  • 详细说明
  • 公共函数
    • 构造和析构
    • 其它
  • 受保护的函数
  • 重写的受保护的函数

QWidgetAction Class

QWidgetAction类通过一个接口扩展了QAction,该接口用于将自定义小部件插入基于操作的容器(如工具栏)中。

Header #include < QWidgetAction >
qmake QT += widgets
Inherits QAction
Inherited By

详细说明

应用程序中的大多数操作都表示为菜单中的项或工具栏中的按钮。但是有时需要更复杂的小部件。例如,字处理器中的缩放动作可以使用QToolBar中的QComboBox来实现,QComboBox表示不同缩放级别的范围。QToolBar提供QToolBar::insertWidget() 作为插入单个小部件的便利函数。但是,如果您想要实现一个在多个容器中使用自定义小部件进行可视化的操作,那么您必须将QWidgetAction子类化。

例如,如果将QWidgetAction添加到QToolBar,则调用QWidgetAction::createWidget() 。该函数的重新实现应该使用指定的父级创建一个新的自定义小部件。

如果从容器小部件中删除了该操作,那么将使用先前创建的自定义小部件作为参数调用QWidgetAction::deleteWidget() 。默认实现隐藏小部件并使用QObject::deleteLater() 将其删除。

如果只有一个自定义小部件,那么可以使用setDefaultWidget() 将其设置为默认小部件。如果将操作添加到QToolBar,或者通常添加到支持QWidgetAction的操作容器中,则将使用该小部件。如果一个只有默认小部件的QWidgetAction同时添加到两个工具栏中,那么默认小部件只显示在该操作添加到的第一个工具栏中。QWidgetAction接管默认小部件的所有权。

请注意,由小部件来激活操作,例如通过重新实现鼠标事件处理程序和调用QAction::trigger() 。

macOS:如果在macOS上向应用程序菜单栏中的菜单添加小部件,则会添加该小部件并使其正常工作,但有一些限制:

  • 小部件将从QMenu重新租入本机菜单视图。如果您在其他地方显示菜单(例如弹出菜单),小部件将不在那里。
  • 小部件的焦点/键盘处理是不可能的。
  • 由于苹果公司的设计,目前该小部件上的鼠标跟踪功能不起作用。
  • 将triggered() 信号连接到打开模式对话框的插槽将导致macOS 10.4崩溃(Apple已确认已知错误),解决方法是使用QueuedConnection而不是DirectConnection。

公共函数

构造和析构

  • QWidgetAction(QObject *parent)
  • virtual ~QWidgetAction()

其它

  • QWidget * defaultWidget() const
    void setDefaultWidget(QWidget *widget)
  • void releaseWidget(QWidget *widget)
  • QWidget * requestWidget(QWidget *parent)

受保护的函数

  • virtual QWidget * createWidget(QWidget *parent)

    每当将操作添加到支持自定义小部件的容器小部件时,就会调用此函数。如果不希望自定义小部件用作指定父小部件中操作的表示,则应返回0。

  • QList<QWidget *> createdWidgets() const

  • virtual void deleteWidget(QWidget *widget)

重写的受保护的函数

  • virtual bool event(QEvent *event) override
  • virtual bool eventFilter(QObject *obj, QEvent *event) override

主窗口(10):【类】QWidgetAction [官翻]相关推荐

  1. QSettings 类【官翻】

    文章目录 详述 基本用法 QVariant和GUI类型 Section 和 Key 的语法 后备机制 恢复GUI应用程序的状态 同时从多个线程或进程访问设置 特定于平台的说明 应用程序设置的存储位置 ...

  2. QFileDevice 类【官翻】

    文章目录 一.详述 二.公共类型 三.公共函数 四.重新实现的公共函数 五.重新实现受保护的函数 QFileDevice 类 QFileDevice类提供用于读取和写入打开文件的接口. Header: ...

  3. Qt 线程(02):线程类【官翻】

    线程类 类名 简介 Concurrent Filter and Filter-Reduce Concurrent Map and Map-Reduce Concurrent Run QAtomicIn ...

  4. QFileInfo 类【官翻】

    文章目录 详述 性能问题 公共函数 创建及析构 目录 路径.文件名及后缀 时间信息 缓存 属性 类型 访问权限 比较 静态公用函数 相关的非成员 QFileInfo 类 QFileInfo类提供与系统 ...

  5. QStorageInfo 类【官翻】

    文章目录 详述 公共函数 静态公共函数 相关非成员 QStorageInfo 类 提供有关当前安装的存储和驱动器的信息. Header: #include < QStorageInfo > ...

  6. QFile 类【官翻】

    文章目录 详述 直接读取文件 使用流读取文件 信号 平台特定问题 公共类型 公共函数 重新实现的公共函数 静态公用函数 QFile 类 QFile类提供用于读取和写入文件的接口. Header: #i ...

  7. 在主窗口中增加绘图类控件时(以QPainter为例)时不显示内容的问题(不应该加addStretch)

    问题引出 假如我要实现以下GUI,包含一个主窗口,主窗口内又包含1个绘图类控件(QPainter中的QdrawText)和1个 单行文本框控件(QLineEdit). 期望效果图 开始实现的代码为: ...

  8. Qt应用程序主窗口框架

    Qt 应用程序主窗口框架 1. Qt资源系统.菜单栏和工具栏 1.1 使用资源 1.2 编写代码方式添加菜单 1.3 菜单栏 1.4 工具栏 2. 中心部件 3. Dock部件 4. 状态栏 5. 例 ...

  9. Qt应用程序主窗口之一:主窗口框架

    对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点 ...

  10. QT学习笔记(六)——QT弹出对话框并在主窗口调用对话框的信息

    QT弹出对话框并在主窗口调用对话框的信息,显示影像 最近封控,大部分时间都在自己学习写代码,有点feel 了哈,自己摸出来一个简单的qt 界面,也实现了自己想要的功能.本篇博客主要记录一下,如何弹出对 ...

最新文章

  1. 这款 IDE 插件再次升级,让「小程序云」的开发部署提速 8 倍
  2. 麒麟970怎么升级鸿蒙系统,华为这些手机无法升级鸿蒙系统,搭载麒麟970,只能遗憾错过...
  3. 打车业务下单高并发解决方案
  4. git同时推送项目到GitHub和Gitee
  5. CTRL+ALT快捷键汇总
  6. 《企业架构的数字化转型》10000字有感
  7. O2OA开源企业办公开发平台:使用Vue-CLI开发O2应用
  8. 优化方法总结(梯度下降法、牛顿法、拟牛顿法等)
  9. Houdini vex用勾股定理推算椭圆运动轨迹
  10. CAD.net二次开发之图层,文字样式,标注样式,标注封装,引线的封装
  11. 16天7000dict
  12. 华为云上云迁移工具案例实践:阿里云迁移到华为云
  13. 提示猜数字范围python_Python 猜数字游戏
  14. 为什么程序员应该写博客?用什么博客系统?在哪写?
  15. iOS应用中增加emoji表情输入功能
  16. Google封杀赛门铁克Root证书
  17. 如何处理java异常
  18. C语言通过傅里叶展开式计算圆周率PI的代码
  19. 满足一个小妹妹的需求——给她批量抓取动漫图片
  20. 《西河大鼓——杨家将(定计)》(唱词文本)

热门文章

  1. 通过搜狐微博API,发带图片的微博
  2. JAVA导入不同包的同名类调用原则小结
  3. 正则表达式 压缩 HTML 字符串
  4. 设计一个自然数类,该类的对象能表示一个自然数
  5. 【OpenCV】图像多通道混合、缩放
  6. c# ppt 转 html,C# 实现PPT 每一页转成图片
  7. 获得商品详情-京东api接口
  8. gerrit is not registered in your account, and you lack ‘forge author‘ permission.
  9. Android4.1
  10. *jqwidgets jqxgrid 使用心得 jqxgrid教程 jqxgrid+SpringMVC(初级) 集成JAVA SSM