Qt类中使用函数指针数组

2023-11-09

接上文例子,将其改成函数指针数组

class Widgetpublic QWidget
{
	....
public :
	int add(int x,int y);
	int mul(int x,int y);
	int (Widget::*func_p[2])(int x,int y);//定义函数指针数组
	....
}
Widget::Widget(QWidget *patent)
{
	...
	func_p[0] = &Widget::add;//指向add函数
	func_p[1] = &Widget::mul;//指向mul函数
	qDebug()<<(this->*func_p[0])(1,2);//调用函数指针数组中元素0所指向的函数
	qDebug()<<(this->*func_p[1])(1,2);//调用函数指针数组中元素1所指向的函数
	...
}
int Widget::add(int x,int y)
{
	return x + y;
}
int Widget::mul(int x,int y)
{
	return x * y;
}

也可以用typedef来定义

class Widget;
typedef int (Widget::FuncType)(int x, int y);
class Widgetpublic QWidget
{
	....
public :
	int add(int x,int y);
	int mul(int x,int y);

private:
	Ui::Widget *ui;
	FuncType func_p[2];//定义函数指针数组
	....
}
Widget::Widget(QWidget *patent)
{
	...
	func_p[0] = &Widget::add;
	func_p[1] = &Widget::mul;
	qDebug()<<(this->*func_p[0])(1,2);
	qDebug()<<(this->*func_p[1])(1,2);
	...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt类中使用函数指针数组 的相关文章

  • 如何访问Loader的sourceComponent中的QML对象?

    我可能需要读取或写入的一些属性Loader s sourceComponent来自一些外部函数 访问该房产的方式是什么x里面的对象的Loader s sourceComponent import QtQuick 2 0 Item width
  • 扩展 TabViewStyle styleData

    我目前正在尝试找到一种更好的方法来执行此操作 将图标添加到选项卡 现在 我正在放弃 styleData title 以包含图标源 但如果能够扩展 styleData 就更好了 这样我就可以包含其他自定义属性 这是我当前的黑客 Tab tit
  • 如何使用 ClangCodeModel 插件在 QtCreator 中设置 C++ 标准?

    抱歉 如果这是一个愚蠢的问题 但我已经尝试了几乎所有的方法 现在正在用头撞墙 问题是 带有 Clang 代码模型插件的 QtCreator 4 8 0 beta for Windows 解析我的项目 为 C 98 而实际上它是 C 17 但
  • QChart 对大数据集无响应

    我的这段代码适用于高达 1000 的数据大小 现在我用 65536 个点对其进行了测试 series new QLineSeries QList
  • 如何在不同的QT线程中创建一个窗口?

    我有一个应用程序 其中每个线程 主线程除外 都需要创建自己的窗口 我尝试创建一个线程然后调用this gt exec in the run功能 然而 在我接到那个电话之前我就收到了一个错误 ASSERT failure in QWidget
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • 如何在Qt3D中优化点云渲染

    我正在尝试使用 Qt3D 显示大型点云 20M pts 我第一次发现这个图书馆https github com MASKOR Qt3DPointcloudRenderer https github com MASKOR Qt3DPointc
  • 在 Windows 上从源代码构建 PhantomJS-2

    我正在尝试基于这些在 Windows 8 1 x64 上从源代码构建 PhantomJS 2 的开发版本指示 https github com ariya phantomjs wiki PhantomJS 2 但是我收到以下错误 mingw
  • QT C++ QRegularExpression 多个匹配

    我想使用正则表达式从 QString html 中提取信息 我明确想使用正则表达式 无解析器解决方案 和类Q正则表达式 http qt project org doc qt 5 0 qtcore qregularexpression htm
  • 在 Windows 上以 QML 播放 RTSP 视频

    我正在尝试将 QML 中的 RTSP 流播放到视频标签中 如下所示 Repeater model 8 Video Layout fillWidth true Layout fillHeight true fillMode VideoOutp
  • 为什么anchors.centerIn不适用于Column元素?

    我有这段 QML 代码 Column spacing units gu 2 anchors fill parent centerIn parent Row spacing units gu 4 Row spacing units gu 4
  • QGraphicsSimpleTextItem“无效使用不完整类型”

    我的代码如下 指针部件 h QGraphicsSimpleTextItem text 指针控件 cpp void PointerWidget placeNumbers float spacing int currentTickNumber
  • 在另一个中使用 QAbstractListModel

    我在尝试使用 Qt QML 为我的应用程序开发数据模型时遇到问题 我已经用过一个QAbstractListModel能够将海关数据模型从 C 传递到 QML 并且它对于简单模型 例如基于字符串和布尔的模型 来说就像一个魅力 但现在我需要建立
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • 我如何告诉 QTableWidget 结束编辑单元格?

    我正在显示一个弹出菜单来选择 QTableWidget 中的某些值 最下面的项目是 修改列表 条目 当我选择它时 应自动出现一个新窗口 并且 QComboBox 应消失 并且单元格返回到 Qt DisplayRole 状态 现在 Qt 拥有
  • Qt - 意外的 GDB 退出

    我正在尝试开发一个应用程序 该应用程序创建图像并使用双线性插值填充颜色像素 然后显示它 到目前为止我的代码如下 include
  • 仅当从 Qt 连接时网页返回 HTTP 406 错误

    我有一个测试页面设置http mlecturedownload com test qt php http mlecturedownload com test qt php有以下代码
  • Qmake 不支持源目录下的构建目录

    我创建了一个可以在 OS X 上编译和运行的应用程序 我现在想开始让它在 Windows 上运行 首先 我将项目复制到 Windows 机器上并尝试编译 但收到此错误 警告 Qmake不支持源目录下的构建目录 有任何想法吗 将影子构建目录设
  • 使用信号和槽更新指针

    我对 Qt 很陌生 请帮我解决这个问题 我正在使用线程在后台执行密集操作 同时我想更新 UI 所以我使用 SIGNALS 和 SLOTS 为了更新 UI 我发出一个信号并更新 UI 让我们考虑下面的示例代码 struct sample QS
  • QGraphicsView 在完整布局中未最大化

    I have following GUI having four QGraphicView objects 正如您在每个视图下看到的那样 它有四个工具按钮 为了最大化视图 我连接了工具按钮的信号来隐藏其他三个视图的插槽 并将大小策略设置为扩

随机推荐

  • 【成长笔记】html+jqurey全选反选取消--让世界爱上中国造

    一 代码
  • 会话及会话技术、Cookie对象、Session对象 详解

    会话及会话技术 当用户通过浏览器访问Web应用时 通常情况下 服务器需要对用户的状态进行跟踪 例如 用户在网站结算商品时 Web服务器必须根据 请求用户的身份 找到该用户所购买的商品 在Web开发中 服务器跟踪用户信息的技术称为会话技术 下
  • SQL Incorrect syntax near 错误

    案例分析 在我进行Top数据查询的时候用到如下SQL语句 select top TopCount from MD DataCubeDataDetail2 nolock Where 1 1 and seqno gt BeginSeqno an
  • 分布式事务的典型处理方式:2PC、TCC、异步确保和最大努力型

    分布式事务的典型处理方式 2PC TCC 异步确保和最大努力型 标签 分布式事务处理方式2PCTCC异步确保 2017 04 23 16 49 2617人阅读 评论 0 收藏 举报 分类 Java Web 195 目录 1 柔性事务和刚性事
  • O(n)RMQ四毛子

    有一种ST表 叫做 1ST表 这种ST表可以在 O n O n O n 的时刻内完成建树 其本质就是分块 大块为整除的ST表 小块的差分数组种类不多 完全可以预处理 现在考虑推广到普通的ST表里 我们发现我们真正关心的是数之间的大小关系 但
  • unl构件图与部署图

    构件是系统中可替换的物理部分 它包装了实现而且遵从并提供一组接口的实现 五个要素 规格说明 对于构件 必须有一个它所提供服务的抽象描述 通俗地说 每个构件都必须提供特定的服务 一个或多个实现 构件是一种物理概念 必须被一个或多个实现所支持
  • .NET 6 Linux 系统服务 Systemd (案例版)

    Net Core Windows 系统服务 之前已经写过了 但是 对于Linux的系统服务 却没有写过 主要是因为 大部分Linux的 Net服务都直接Docker了 当然 不排除有这种使用的 可能搞成启动执行了 也有可能用守护进程的方式搞
  • iOS开发学习之触摸事件和手势识别

    iOS的输入事件 触摸事件 手势识别 手机摇晃 一 iOS的输入事件 触摸事件 滑动 点击 运动事件 摇一摇 手机倾斜 行走 不需要人为参与的 远程控制事件 耳机控制手机声音 1 iOS事件对象都是UIEvent类的实例 UIEvent类对
  • 【Linux】重启后进入了紧急模式&应急模式(emergency mode)

    本章进行测试 复现问题 将 etc fstab 挂载 home 参数defaults写错 一般在编辑 etc fstab后都会去执行mount a 这里可以看到执行后并未出现错误 那么咱们重启测试一下 可以看到如图所示出现的错误信息 解决办
  • 系统移植部署开发阶段

    环境搭建 家目录下安装tftp服务器 实现linux系统对tftp目录得文件传输 准备文件 将uboot镜像文件 TF A镜像文件反在tftp目录下 开发板与linux系统得连接 在串口工具打印信息ums 0 mmc 0 将TF卡挂载到Ub
  • Zotero及其插件的安装及使用

    Zotero及其插件的安装及使用 对于学生而言 或多或少得看论文 现在市场上最流行的论文管理工具当属Zotero 作为一个开源的软件 其包括了获取文献 查看文献 文献分类 即时编写笔记等功能 此外还能利用不少插件方面学习 例如Zotero
  • java中将List数据平均切分成N份

    话不多说 直接上代码 直接用 public static
  • 栈与递归

    文章目录 递归 函数调用 递归工作栈 递归算法的效率分析 递归转换为非递归 递归算法优点 递归 若在一个函数 过程或数据结构定义的内部又直接 或间接 出现定义本身的应用 则称它们是递归 三种常使用递归的情况 定义是递归的 例1 阶乘函数 l
  • 网络安全(黑客)必备工具包

    1 NMap 作为Network Mapper的缩写 NMap是一个开源的免费安全扫描工具 可用于安全审计和网络发现 它适用于Windows Linux HP UX Solaris BSD变体 包括Mac OS 以及AmigaOS Nmap
  • PHP的pack/unpack

    前言 直接参照官网 PHP pack Manual PHP中文手册 PHP中国镜像 php 国内镜像 PHP官方网站 PHP unpack Manual PHP中文手册 PHP中国镜像 php 国内镜像 PHP官方网站 1 作用 1 pac
  • Cannot determine path to ‘tools.jar‘ library for openjdk-17

    idea错误 Cannot determine path to tools jar library for openjdk 17 解决方法 把project structure 1 7全部去掉 只留1 8 再运行tomcat7就不报错了
  • vue-cli3打包文件增加hash值

    vue config js中加入以下代码 module exports filenameHashing true 打包后为文件名增加hash值 chainWebpack config gt config output filename js
  • [Python]windows平台python第三方模块安装gcc failed with exit status 1问题的解决

    在windows平台命令行用pip install安装库的时候 经常遇到not found vcvarsall bat这种问题 手动下载源码自己编译 又经常有很多问题 1 在单位没有安装VS 安了mingw32 编译设置成python se
  • [转]增强型N沟道mos管(如si2300)开关条件

    增强型N沟道mos管 如si2300 开关条件 增强型N沟道mos管的S source源极 和 D drain漏极 导通条件取决与Vgs 即栅极和源极间的电压压差 只有当 Vgs gt 2 5V 也就是 Vg G极电压 Vs S极电压 gt
  • Qt类中使用函数指针数组

    接上文例子 将其改成函数指针数组 class Widget public QWidget public int add int x int y int mul int x int y int Widget func p 2 int x in