QLineEdit.text() 函数使我的程序崩溃,但仅当它在插槽中时
QLineEdit.text() function makes my program crash, but only when it's in a slot
快速说明,我还在 HS 中并试图组合一个小项目,基本上是使用我们学校服务器的某种 Messenger 应用程序。
当然,为此,您需要登录 window,以及帐户管理和内容。帐户管理部分已经完成,只剩下我将所有内容放在一起,将按钮连接到操作等的部分
所以我为此做了插槽:
Slots :
问题是,当我尝试从 window 的插槽
中读取 QLineEdits 中的文本时,我的整个应用程序崩溃了
(m_nickname和m_password是输入用户名和密码的两个QLineEdit)
(m_login和m_signup是登录和注册的两个按钮)
此外,如果有帮助的话,这是我的整个 class 定义:
.cpp
.h
提前感谢任何试图帮助我的人:-)
它是 segmentation fault 崩溃的原因。
您没有为这两个 QLineEdits 分配地址。
你在构造函数中实际做的是定义另一个 QLineEdit m_nickname 和 m_password 和你的 class 成员变量没有在内存中定位
在定义这些 QLineEdits 的地方更改构造函数,如下所示:
而不是
QLineEdit *m_nickname = new QLineEdit();
写
m_nickname = new QLineEdit();
而不是
QLineEdit *m_password = new QLineEdit();
写
m_password = new QLineEdit();
快速说明,我还在 HS 中并试图组合一个小项目,基本上是使用我们学校服务器的某种 Messenger 应用程序。
当然,为此,您需要登录 window,以及帐户管理和内容。帐户管理部分已经完成,只剩下我将所有内容放在一起,将按钮连接到操作等的部分
所以我为此做了插槽:
Slots :
问题是,当我尝试从 window 的插槽
中读取 QLineEdits 中的文本时,我的整个应用程序崩溃了(m_nickname和m_password是输入用户名和密码的两个QLineEdit) (m_login和m_signup是登录和注册的两个按钮)
此外,如果有帮助的话,这是我的整个 class 定义: .cpp .h
提前感谢任何试图帮助我的人:-)
它是 segmentation fault 崩溃的原因。
您没有为这两个 QLineEdits 分配地址。
你在构造函数中实际做的是定义另一个 QLineEdit m_nickname 和 m_password 和你的 class 成员变量没有在内存中定位
在定义这些 QLineEdits 的地方更改构造函数,如下所示:
而不是
QLineEdit *m_nickname = new QLineEdit();
写
m_nickname = new QLineEdit();
而不是
QLineEdit *m_password = new QLineEdit();
写
m_password = new QLineEdit();