将 QString 从 parent 传递到 child QT
Passing QString from parent to child QT
我需要在我的程序中从 parent window 到 child window 获取一个 QString。
menu=new user(this); menu->show();
这就是我创建 child window 的方式。我在名为 "login" 的 parent 中声明了 QString Username;
。
这就是我尝试将 QString 传递给我的新 window:
的方式
QString loginnn=((login*)this->parent())->Username
但我收到错误消息:
"login was not declared in this scope"
虽然我已经将 "login.h" 文件包含到我的 "user.h" 文件中,而且 "login" 被标记为粉红色,QT 知道它是什么。
感谢您的帮助!
最简单的解决方案是在对象构造期间发送对所需字符串的引用
你应该简单地这样做:
menu = new user(this, username);
menu->show();
Menu.cpp
class User
{
private:
QString &_login;
public:
User(..., QString &login):
_login(login)
}
现在你应该可以使用这个字符串了,无论如何在构造过程中给出它是有意义的
我需要在我的程序中从 parent window 到 child window 获取一个 QString。
menu=new user(this); menu->show();
这就是我创建 child window 的方式。我在名为 "login" 的 parent 中声明了 QString Username;
。
这就是我尝试将 QString 传递给我的新 window:
的方式 QString loginnn=((login*)this->parent())->Username
但我收到错误消息:
"login was not declared in this scope"
虽然我已经将 "login.h" 文件包含到我的 "user.h" 文件中,而且 "login" 被标记为粉红色,QT 知道它是什么。
感谢您的帮助!
最简单的解决方案是在对象构造期间发送对所需字符串的引用
你应该简单地这样做:
menu = new user(this, username);
menu->show();
Menu.cpp
class User
{
private:
QString &_login;
public:
User(..., QString &login):
_login(login)
}
现在你应该可以使用这个字符串了,无论如何在构造过程中给出它是有意义的