• 7967阅读
  • 4回复

怎样在不同类之间相互调用变量 [复制链接]

上一主题 下一主题
离线tiger7671
 

只看楼主 倒序阅读 楼主  发表于: 2008-07-17
— 本帖被 XChinux 执行加亮操作(2008-07-17) —
假如有二个对话框A和B,在对话框A上一个按钮Qbutton btn1,点击Qbutton btn1,弹出对话框B,
 
在B上也要做过按钮Qbutton btn2,点击Qbutton btn2,弹出对话框C.

问题:假设对话框A的相关文件为FormA.h和FormA.cpp,假设对话框B的相关文件为FormB.h和FormB.cpp,    假设对话框C的相关文件为FormC.h和FormC.cpp,

主程序的文件为client.h和client.cpp,  且主框架是从对话框A类继承的,
现在我想在主程序client.cpp中对FormB.h中的其它变量的一些变量访问,是不是把FormB.h所有的变量都申明为extern类型就可以了,还是将client类申明为FormA的友友函数?
离线steinlee

只看该作者 1楼 发表于: 2008-07-18
I have two suggestions:

  1. use friend to access shared data
  2. create a class Model to save all shared data. After each data in any widget changes, update Model and make broadcast to all widgets to update. Check pattern MVC(model, view, control).
Looking for remote C/C++ and Qt 兼职
离线lzian
只看该作者 2楼 发表于: 2008-07-18
最简单的就是用public属性
离线nmiirq

只看该作者 3楼 发表于: 2008-07-21
引用第2楼lzian于2008-07-18 08:30发表的  :
最简单的就是用public属性

呵呵,顶
离线0603136
只看该作者 4楼 发表于: 2008-07-21
请问楼主问题解决了吗?我也遇到了类似的问题

我用用qt编了两个界面,不妨分别命名为form1.ui和form2.ui,在form1中设置一个按钮,点击时可以弹出form2(可以实现)。
在form1中设置另一个按钮,点击时执行数据采集程序段,可以进行数据采集。我想把这个时候采集到的数据实时显示在form2中 但是我试了几种方法,form1采集到的数据怎么都不能在form2中显示,不知道怎么样才能实现这个功能,谢谢!

现在不知道怎么解决,希望建议一下,谢谢
呵呵,我自信
快速回复
限100 字节
 
上一个 下一个