查看完整版本: [-- QLineEdit 在初始化的时候如何获取其他类的成员变量? --]

QTCN开发网 -> Qt基础编程 -> QLineEdit 在初始化的时候如何获取其他类的成员变量? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

user12138 2017-02-22 17:22

QLineEdit 在初始化的时候如何获取其他类的成员变量?

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的内容?
}


笑颜 2017-02-22 17:39
C++类默认访问权限是private,如果不显式给予访问权限,就使用默认private。子类无法访问父类的private变量。如果我没记错的话,是这样的哈!

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

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

如果把 test 改成 public 呢?

笑颜 2017-02-22 18:32
user12138:如果把 test 改成 public 呢? (2017-02-22 18:04) 

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

洗洗睡咯 2017-02-22 18:38
a里添加一个Public方法 QString getString();
b里添加一个Public方法void setString(QString& s);

user12138 2017-02-23 19:41
笑颜:你这个回复是什么意思? 你觉得我这个回答是在你不是public的情况下的答案? 语法都错了,还谈什么解决呢! (2017-02-22 18:32) 

抱歉,是我理解错了,抱歉


查看完整版本: [-- QLineEdit 在初始化的时候如何获取其他类的成员变量? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled