由于QObject,我在QT中遇到了关于多重继承的问题。我知道很多其他人也有同样的问题,但我不知道该如何解决。Qt多重继承和信号

class NavigatableItem : public QObject

{

Q_OBJECT

signals:

void deselected();

void selected();

void activated();

};

class Button : public NavigatableItem, public QToolButton

{

Q_OBJECT

...

}

class MainMenuOption : public Button

{

Q_OBJECT

...

}

当我这样做

MainMenuOption* messages = new MainMenuOption();

connect(messages, SIGNAL(selected()), SLOT(onMenuOptionSelected()))

我会得到错误:

QObject' is an ambiguous base of 'MainMenuOption'

我之所以让因为信号的自QObject NavigatableItem enherit。有没有办法做到这一点?

编辑:

添加虚拟到每个的传承声明,仍然给我相同的错误:

class NavigatableItem : public virtual QObject

class Button : public virtual NavigatableItem, public virtual QToolButton

class MainMenuOption : public virtual Button

即使在一个“干净所有”,“运行的qmake”和“建立所有” 。

2011-03-23

RvdK

+5

不能从多个继承QObject子类。其中只有一个可以是QObject,它必须是列表中的第一个。 –

2011-03-23 10:47:14

+1

尝试删除这些'moc_ *','* .obj'文件并重建所有文件。 –

2011-03-23 11:58:18

+0

查看更新后的问题。重建没有解决它。 –

2011-03-23 13:38:04

qt 多重继承_Qt多重继承和信号相关推荐

  1. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节

    简介 本文是<Qt进阶之路>系列文章的特别篇,涛哥在这里讨论Qt信号-槽的实现细节. 上次的文章<Qt实用技能4-认清信号槽的本质>中介绍过,信号-槽是一种对象之间的 通信机制 ...

  2. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  3. Qt 控制台 使用connect连接信号和槽

    导言: Qt的信号号和槽 (Signal&Slots)是Qt的特性,深入理解该机制是能够精通Qt编程的关键. 信号号和槽 (Signal&Slots)的作用: 信号和槽用于两个对象之间 ...

  4. Qt Creator将对象连接到信号

    Qt Creator将对象连接到信号 将对象连接到信号 添加信号处理程序 将对象连接到信号 为了在特定对象发出特定信号时接收通知,对象定义应声明一个名为on 的信号处理程序,其中是信号的名称,首字母大 ...

  5. Qt 多线程中地信号与槽

    Qt 多线程中地信号与槽 函数原型: 1 QObject::connect(const QObject *sender, const char *signal, const QObject *rece ...

  6. QT核心机制3:信号与槽

    个人博客对应地址:QT核心机制3:信号与槽 写在前面 这篇文章基本是对Qt官方文档某些章节的翻译理解了,翻译这些章节的原因是我认为这些是Qt中最核心的东西,翻译的过程也就是强迫自己认真去读它们的过程, ...

  7. 最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_)

    最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_) 一.08.qt中的坐标系 二,09 信号和槽-点击按钮关闭窗口_ 来自 一.08.qt中的坐标系 二,09 信号 ...

  8. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.6 自定义信号槽

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gA4y1d7gz 上节课,我们讲解了标准信号槽,标准信号槽中,信号和槽函数,都是 Qt 框架定 ...

  9. qt qthead里如何响应信号_Qt 中的多线程技术(翻译)

    原文链接 Multithreading Technologies in Qt​doc.qt.io 正文 Qt 提供一系列的类与函数来处理多线程.Qt 开发者们可以使用下面四种方法来实现多线程应用. Q ...

最新文章

  1. document.querySelector和querySelectorAll方法
  2. BZOJ 1103 大都市MEG
  3. python遍历目录下所有文件_Python递归遍历目录下所有文件
  4. rs232读取智能电表_三相电表怎么看度数 怎么计算总电量
  5. Python开发【第二篇】:Python基本数据类型
  6. Docker-Compose 基础与实战,看这一篇就够了 | 原力计划
  7. 洛谷——P1652 圆
  8. ajax怎么在服务器返回值,node.js+Ajax实现获取HTTP服务器返回数据?
  9. Linux设备驱动模型-Bus
  10. 单片机计算机实训总结,单片机实习心得体会三篇
  11. 在VC++中的MFC利用一个dialoge对话框中按钮调用另一个dialoge对话框
  12. web前端期末大作业--HTML+CSS+JS实现美女拼图游戏
  13. 关于python数据的纬度_Python插值时间,纬度和经度
  14. 表格识别综述与相关实战
  15. 什么是云主机?有什么用途?
  16. c语言关键字之auto
  17. 图纸打印什么时候用蓝图_cad图怎么打印成施工蓝图
  18. js里分割字符串,数组拼接
  19. ORACLE-使用DBCA创建数据库
  20. python 实现单链表 Lined List

热门文章

  1. 希沃展台如何使用_简单又实用的希沃视频展台
  2. RS485电压测试(电工Demo)
  3. 炫酷创意个人简历ppt模板
  4. c语言编辑机器人行走,c语言课程设计报告-步行机器人.doc
  5. php数组及解析,PHP基本知识(数组解析)
  6. 全国各地计算机技术与软件资格考试机构网站汇总
  7. QQ新版本正式发布,带有微信刚更新的功能,不知道大家发现了吗
  8. python学习-->tkinter模块学习之Listbox(列表框学习)
  9. python内置函数sum_python必备内置函数-sum(iterable, /, start=0)
  10. 晚上吃外卖适合点什么