在所有代码和槽函数全部写好之后,进行编译时竟然报 No such slot xxxx,奇怪

Starting E:\01_project\03_C++\key\debug\key.exe...

Object::connect: No such slot MainWindow::GenerateKey() in mainwindow.cpp:26

Object::connect: (sender name: 'btn_ok')

Object::connect: (receiver name: 'MainWindow')

Object::connect: No such slot MainWindow::ShowAbout() in mainwindow.cpp:28

Object::connect: (sender name: 'actionAbout')

Object::connect: (receiver name: 'MainWindow')

于是将该connect连接信号和槽函数中的槽函数换成qt自带的 close()函数,编译成功进行操作对应的按钮能正常触发关闭,说明connect()函数没问题,问题是出在槽函数这块

    connect(ui->btn_ok,SIGNAL(clicked()),this,SLOT(GenerateKey()));
connect(ui->actionExit,SIGNAL(triggered()),this,SLOT(close()));
connect(ui->actionAbout,SIGNAL(triggered()),this,SLOT(ShowAbout()));

  

出现这个问题一般从下面几个思路进行定位分析:

1、信号和槽函数的类型是否一致,clicked()为void类型,自己写的GenerateKey()也为void类型

2、信号和槽函数的参数类型是否一致,如果clicked(true)带有参数,那么槽函数也必须要带上参数,必须同为bool类型

3、信号和槽函数的名字是否有拼错

4、槽函数是否有提前进行声明,如果没有声明为slots类型的话,connect()也会被认为找不到槽函数

注:我上面遇到的问题就是未在头文件中声明 slots,所以就报错了,添加了这个声明之后,运行就正常了。

slots声明如下:

public slots:
void GenerateKey();
void ShowAbout();

  

Object::connect: No such slot xxx 解决方法的更多相关文章

  1. Object::connect: No such slot QWidget::

    出现如下错误 Object::connect: No such slot QWidget::readMyCom() in ../untitled/ConversionScreen.cpp:49 解决办 ...

  2. rpm包安装过程中依赖问题“libc.so.6 is needed by XXX”解决方法

    rpm包安装过程中依赖问题"libc.so.6 is needed by XXX"解决方法 折腾了几天,终于搞定了CentOS上的Canon LBP2900打印机驱动.中间遇到了一 ...

  3. sudo: unable to resolve host XXX 解决方法

    执行sudo命令时候,总是提示sudo: unable to resolve host xxx 解决方法: 法1. 在/etc/hosts/添加hosts映射, 如127.0.0.1 xxx 法2. ...

  4. hp警告Creating default object from empty value 问题的解决方法

    hp警告Creating default object from empty value 问题的解决方法 解决方法是找到报错的位置然后看哪个变量是没有初始化而直接使用的,将这个变量先实例化一个空类.如 ...

  5. SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    原文摘自:http://www.jb51.net/article/52581.htm 这篇文章主要介绍了SELinux导致PHP连接MySQL异常Can't connect to MySQL serv ...

  6. cannot open git-upload-pack,cannot open git-receive-pack,Can't connect to any URI错误解决方法eclipse

    cannot open git-upload-pack,cannot open git-receive-pack,Can't connect to any URI错误解决方法eclipse 解决ecl ...

  7. Unable to connect to your virtual device!解决方法

    使用Genymotion安卓模拟器的用户,很多朋友在启动安卓系统的时候就弹出了以下英文,不知道如何处理,今天电脑知识网小编来教您处理Genymotion安卓模拟器启动出错的问题. Error Unab ...

  8. python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法

    在ide中执行python程序,都已经在默认的项目路径中,所以直接执行是没有问题的.但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError ...

  9. rpm包安装过程中依赖问题“libc.so.6 is needed by XXX”解决方法-转

    原文:http://raksmart.idcspy.com/781 在CentOS上的Canon LBP2900安装打印机驱动,中间遇到了一些问题,主要是安装rpm包出现的依赖问题,现在解决了,现在简 ...

随机推荐

  1. ARTS-S 最难的事情

    小朋友不舒服,看了医生也开了药吃了.但还是一直闹,不睡觉,弄的我和我爱人精疲力尽. 现在看来,技术上的难题真不算什么.照顾小朋友才是这个世界上最难的事情.

  2. git 多仓库源 配置

    在后台配好ssh公匙后 在C:\Users\Administrator\.ssh 下修改config文件  就叫config不带后缀 若没有则新建 配置SSH 密匙 # 配置github.com Ho ...

  3. MySQL 05

    目录 事务 基本概念 四大特性(ACID) 使用方法 存储引擎 视图 基本概念 使用方法 触发器 基本概念 使用方法 存储过程 基本概念 使用方法 数据备份 备份 导入 函数 事务 基本概念 事务: ...

  4. Day 03 Python 基础

    目录 Pycharm 的使用 设置 快捷键 变量 什么是变量 定义变量 变量名的命名规则 变量名的两种命名方式 注释 快捷键(快速注释) 单行注释 多行注释 注释的作用 Turtle库的使用 Pych ...

  5. 【CSS】305- [译] Web 使用 CSS Shapes 的艺术设计

    %; %; %; %; 0, 0 100%, 100% 100%); %; %; % 0, 0 100%, 100% 100%); %; %; ) p:nth-of-type(1)::before { ...

  6. 01 | 可见性、原子性和有序性问题:并发编程Bug的源头

    由于CPU.内存.I/O 设备的速度差异,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系机构.操作系统.编译程序都做出以下处理: 1. CPU 增加了缓存,以均衡与内存的速度差异: ...

  7. Oracle GoldenGate for Sql Server连接ODBC失败的处理方法

    Oracle GoldenGate for Sql Server连接oracle数据库的时候还是比较容易的,命令行下面只要: GGSCI> dblogin useridalias [ alias ...

  8. 解压小游戏之打砖块(C#+unity)

    z这个小游戏很简洁,很简单,非常适合一个人玩,特别减压

  9. android studio学习----目录结构

    项目结构:一个窗口只有一个项目,项目 叫  Project 代表一个workspace 一个项目的结构跟eclipse区别还是蛮大的: 首先看APP结构:app放的其实就是  java文件和资源文件 ...

  10. Android 菜单 Menu

    @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to th ...