c++ - 将 QString 从父级传递给子级 QT
问题描述
我需要在我的程序中从父窗口到子窗口获取一个 QString。
menu=new user(this); menu->show();
这就是我创建子窗口的方式。我已经QString Username;
在我的父母声明中称为“登录”。
这就是我试图将 QString 传递到我的新窗口的方式:
QString loginnn=((login*)this->parent())->Username
但我收到错误:
“未在此范围内声明登录”
虽然我已经将“login.h”文件包含到我的“user.h”文件中,并且“login”也被标记为粉红色,QT 知道它是什么。
谢谢你的帮助!
解决方案
最简单的解决方案是在对象构造期间发送对所需字符串的引用
你应该这样做:
menu = new user(this, username);
menu->show();
菜单.cpp
class User
{
private:
QString &_login;
public:
User(..., QString &login):
_login(login)
}
现在你应该可以使用这个字符串了,无论如何在构造过程中给出它是有意义的
推荐阅读
- pdf - 通过 ImageMagick 将 pdf 转换为 jpg 的问题
- linux - SQUID 启用离线模式以使用缓存加载网页
- solidity - Solidity 代码不在 Javascript VM 环境中传输以太
- c++ - 随机数生成器游戏
- excel - Excel 使用 IF 语句选择随机数并创建随机数组
- pandas - ValueError:np.nan 是无效文档、预期字节或 unicode 字符串
- python - 检测笔记本是交互式运行还是在 nbconvert 中导出
- powershell - 匹配两个 get-process 变量不起作用
- python - 如何使用用户名 = True 的标准身份验证 API 在 web2py 中更改用户的电子邮件地址
- django - 将芹菜工人作为守护进程启动