关于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 信号与槽不在同一个线程 connect

主线程中发出一个信号,另一个线程槽函数没有响应,这个问题搞了好几个小时,才发现原来是connect时候的第5个参数写错了,在这里做下备注吧。 connect用于连接qt的信号和槽,在qt编程过程...

Qt如何在main.cpp里面添加connect函数

SIGNAL和SLOT的对象都不能用A a;的方式来创建,而应该用A *a = new A;的方式来创建。 因为在main.cpp里面调用connect,一般都是两个类之间的通讯,而用栈的方...

Qt多次链接connect函数的信号槽会调用多次问题

Qt多次链接connect函数的信号槽会调用多次问题

qt进程编程的使用:一个程序中调用另一个程序

QT进程编程

C++中两个类的头文件互相包含问题

抽象概括下,就是A类定义在A.h中,A类中有个B*成员;B类定义在B.h,B类同样有A*成员        解决办法,就是A类定义前面,加上class  B;一行,进行声明,在B类定义前,...

Qt中一个.cpp类的函数调用另一个.cpp中类的函数的方法

Qt 下面经常会用到一个函数调用的时候会调用到另一个函数,如果这两个函数在两个.cpp文件中,那么应该怎么调用呢? 假设在B类点击一个按钮会调用A类的一个函数,实际上只需要: 一. 在B的构造函数...

QT写的贪吃蛇(C++)

这个qt写的贪吃蛇是我在通过学校老师所录的视频简单学习之后,再根据网络上的视频做出的一个贪吃蛇小游戏。该游戏所实现的功能如下: ①资源文件的使用 ②父子窗口的协调出现,父窗口的背景覆盖...

QT 中QGroupbox的Title垂直居中

当设置了groupbox的border之后,title会下沉。 只要设置一下margin属性,就可以将border...

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

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

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

这几天还在继续搞我的QML,感悟就QML是坑的同时,也是一门很号的语言,用于快速搭界面是很好的。那么,这几天, 遇到一个问题,在下用一个框框画一下,希望可以理解 抽象派,解释一下,QML1和...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Qt 两个.cpp文件相互调用各自的函数
举报原因:
原因补充:

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