c++ - QLineEdit.text() 函数使我的程序崩溃,但仅当它位于插槽中时
问题描述
快速解释一下,我还在 HS 中,正在尝试组合一个小项目,基本上它是某种使用我们学校服务器的信使应用程序。
当然,为此,您需要一个登录窗口,其中包含帐户管理和其他内容。帐户管理部分已经完成,只剩下我将所有内容放在一起的部分,将按钮连接到操作等。
所以我为此做了插槽:
问题是,一旦我尝试从窗口的插槽中读取 QLineEdits 中的文本,我的整个应用程序就会崩溃
(m_nickname 和 m_password 是输入用户名和密码的两个 QLineEdit)(m_login 和 m_signup 是登录和注册的两个按钮)
提前感谢任何试图帮助我的人:-)
解决方案
它崩溃的原因是分段错误。您没有为这两个 QLineEdits 分配地址。您在构造函数中实际所做的是定义另一个 QLineEdit m_nickname和m_password并且您的类成员变量没有在内存中找到
更改您定义这些 QLineEdits 的构造函数,如下所示:
代替
QLineEdit *m_nickname = new QLineEdit();
写
m_nickname = new QLineEdit();
而不是
QLineEdit *m_password = new QLineEdit();
写
m_password = new QLineEdit();
推荐阅读
- apache-kafka - 卡夫卡连接错误:java.util.concurrent.ExecutionException:org.apache.kafka.connect.runtime.rest.errors.BadRequestException
- react-native - 简单的 React Native Button 不运行函数 onPress
- reactjs - 赛普拉斯错误“自动化客户端已断开连接。无法继续运行测试。” 在 Docker 中运行时
- c# - 为什么我需要构建我的 C# 项目(引用 F# 项目)两次才能正常工作?
- html - 当我将绝对位置应用于光滑箭头主图像时,ionic4 .in 滑块中的光滑滑块出现问题
- variables - 如何在不需要从控制器传递值的情况下制作存储过程变量?
- sql-server - 使用数据透视函数排序数据并选择辅助表上的特定列
- hive - 在 presto cli 中执行删除查询后,选择查询有什么问题吗?
- c++ - 当向量增长时,指向向量元素的 C++ 指针是否会变得无效?
- ubuntu - 无法在 ubuntu 18.04 中为 rvm 安装 libssl-dev