关于Qt 两个.cpp文件相互调用各自的函数

原创 2016年05月30日 10:33:38

最近在用Qt 编写一个项目的界面,想再两个.cpp文件相互调用彼此的函数 一种方法就是connect函数,在一个文件中写信号函数,在另一个文件中写槽函数,注意connect函数要放在发送信号之前。第二种方法就是定义一个全局变量  

步骤为:新建一个.h文件  命名为global.h 再新建一个.cpp文件  命名为global.cpp

在global.h 文件中添加:

#ifndef GLOBAL
#define GLOBAL
#include "agvcommuication.h"
#include "mainwindow.h"
extern MainWindow *mainui;
extern agvCommuication *agvcommui;
#endif // GLOBAL

在global.cpp文件中添加:

#include "global.h"
agvCommuication *agvcommui;
MainWindow *mainui;

 "agvcommuication.h"以及 "mainwindow.h"中分别包含该#include "global.h"

 "agvcommuication.h"中:

class MainWindow;
private:
     MainWindow *mainwindow;
这样在
agvcommuication.cpp文件中在需要调用函数之前添加代码  mainui=mainwindow  在mainui->所需的函数就可以盗用mianwindow下的函数了,此时函数的定义为public

同样的方法在mainwindow.cpp文件写可以调用agvcommuication.cpp的函数



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

qt写DLL文件并调用和出现的问题分析

qt是C+的一个框架,GUI编程简单,同时又能编写C+的库文件,有时候甚至只是改几行代码,就能把一个GUI程序修改成C+的.dll文件,下面看具体的过程: 首先建立一个新项目,选择C++库 ...

QT 全局变量 全局 函数

兩種方法: 第一:使用extern關鍵字聲明(不推薦,破壞了封裝性) 第二:新建一個類,存放全局的變量,函數 第一:使用extern關鍵字聲明(不推薦,破壞了封裝性) 在一个头文件...

qt中的全局变量

这一段开发一个程序,需要多个源文件,包括若干个头文件和若干个定义文件。因此如何在多个源程序间开发传递变量就成了一个关键问题。一般来说在多个源程序间传递变量大概有两种方法,一是利用extern声明全局变...

Qt一个工程调用另一个工程的类成员变量

一句两句话已经不能表达现在的激动情绪了,唯有感叹知识的博大精深,并把感叹转变为文字。 同一个工程调用其他类成员变量非常简单。 如: 定义 Test1.h中申明成员变量 class A { p...

C++两个类互相调用彼此的方法

两个类A和B实现互相调用彼此的方法,如果采用彼此包含对方头文件的方式会出现循环引用,所以采用了类的前置声明的方式 1,class A采用前置声明的方式声明class B 2,在ClassB的头文件...

QT多窗口间传值---信号槽方法

在写程序时,难免会碰到多窗体之间进行传值的问题。依照自己的理解,我把多窗体传值的可以使用的方法归纳如下:       1.使用QT中的Signal&Slot机制进行传值;       2....

Qt-QML-关于两个平级的qml文件中的函数调用问题

这几天还在继续搞我的QML,感悟就QML是坑的同时,也是一门很号的语言,用于快速搭界面是很好的。那么,这几天, 遇到一个问题,在下用一个框框画一下,希望可以理解 抽象派,解释一下,QML1和...

头文件里面实现一个函数,在两个cpp中包含,则重复定义,如果加上inline则不会报错

为什么类的定义应当写在头文件中,从而被多个源文件包含?比如myclass.h定义了一个类myclass(只定义类,不定义成员函数), file1.cpp里#include "myclass.h",编译...

QT4(C++)两个头文件相互包含(类超前引用)

1、C++中的类相互包含(QT4)      所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。     一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)