• 3369阅读
  • 6回复

QLineEdit 在初始化的时候如何获取其他类的成员变量? [复制链接]

上一主题 下一主题
离线user12138
 

只看楼主 倒序阅读 楼主  发表于: 2017-02-22
QLineEdit 在初始化的时候如何获取其他类的成员变量?

就是例如有两个类
--- a.h ---
class a : public QMainWindow
{
    a(QWidget *parent = 0);
    QString test;
}
--- a.cpp ---
a:a(QWidget * parent) : QMainWindow(parent)
{
    test = "hello";
    b * bb = new b(this);
    b.exec();
}
--- b.h ---
class b : public QDialog
{
    b(QWidget *parent = 0);
    QLineEdit * edit;
}
--- b.cpp ---
b:b(QWidget * parent) : QDialog(parent)
{
    edit = new QLineEdit();
    // 之后怎么让它显示test的内容?
}

离线笑颜

只看该作者 1楼 发表于: 2017-02-22
C++类默认访问权限是private,如果不显式给予访问权限,就使用默认private。子类无法访问父类的private变量。如果我没记错的话,是这样的哈!
离线笑颜

只看该作者 2楼 发表于: 2017-02-22
你这个问题的话,要么传参,要么使用全局变量,其他方法自己想吧。比如,把具有“test”属性的对象传给需要该属性的对象,或者把具有“test”属性的对象作为全局,这样就可以直接获取到。
4条评分好评度+1贡献值+1金钱+1威望+1
user12138 好评度 +1 谢谢 2017-02-23
user12138 贡献值 +1 谢谢 2017-02-23
user12138 威望 +1 谢谢 2017-02-23
user12138 金钱 +1 谢谢 2017-02-23
离线user12138

只看该作者 3楼 发表于: 2017-02-22
回 笑颜 的帖子
笑颜:你这个问题的话,要么传参,要么使用全局变量,其他方法自己想吧。比如,把具有“test”属性的对象传给需要该属性的对象,或者把具有“test”属性的对象作为全局,这样就可以直接获取到。 (2017-02-22 17:44) 

如果把 test 改成 public 呢?
离线笑颜

只看该作者 4楼 发表于: 2017-02-22
回 user12138 的帖子
user12138:如果把 test 改成 public 呢? (2017-02-22 18:04) 

你这个回复是什么意思? 你觉得我这个回答是在你不是public的情况下的答案? 语法都错了,还谈什么解决呢!
离线洗洗睡咯

只看该作者 5楼 发表于: 2017-02-22
a里添加一个Public方法 QString getString();
b里添加一个Public方法void setString(QString& s);
离线user12138

只看该作者 6楼 发表于: 2017-02-23
回 笑颜 的帖子
笑颜:你这个回复是什么意思? 你觉得我这个回答是在你不是public的情况下的答案? 语法都错了,还谈什么解决呢! (2017-02-22 18:32) 

抱歉,是我理解错了,抱歉
快速回复
限100 字节
 
上一个 下一个