C++ 为什么给QString赋值时出错
我想从C++ 为什么给QString赋值时出错,c++,qt,setter,qstring,C++,Qt,Setter,Qstring,我想从对话框窗口到主窗口访问Qstring(m_IPAdd)。但是,我在setter函数中传递Qstring值时遇到了困难 调试模式下,“我的错误”显示为弹出窗口: unhandled exception occurs at 0x66a77448 (Qt5Cored.dll) in __.exe:0xC0000005: conflict happend when accessing the memory at 0xffffffffffffffff" (我将MSVC2010与Qt5.0一起使用
对话框窗口
到主窗口
访问Qstring(m_IPAdd)。但是,我在setter函数中传递Qstring值时遇到了困难
调试模式下,“我的错误”显示为弹出窗口:
unhandled exception occurs at 0x66a77448 (Qt5Cored.dll) in __.exe:0xC0000005:
conflict happend when accessing the memory at 0xffffffffffffffff"
(我将MSVC2010与Qt5.0一起使用。)
对话框窗口:
private:
MainWindow *mainwindow;
private:
QString m_ip;
主窗口:
private:
MainWindow *mainwindow;
private:
QString m_ip;
我也试过了
void MainWindow::setIPAdd(const QString ip)
{
QString ipadd = ip; //ipadd: local variable which it can get the value of Qstring (in Debug mode)
m_ip = ipadd ; //here's the program crashes, m_ip can't get any value
}
我想知道为什么局部变量ipadd
可以获得通过参数ip
传递的值,而不是m_ip
。我甚至试过分配
m_ip = "abc";
但该计划也失败了
我已经阅读了QtWeb中的文档,但仍然不知道哪个部分对我有用
请给我一些指导和建议。非常感谢 对话框窗口继承自QWidget,它本身就是一个小部件。所以您可以在其上定义自己的Q_属性来表示您想要共享的值,并注册该属性。这样就可以从主窗口访问它
你有什么错误。包含m_ip的对象是否正确实例化?调试器怎么说?我猜
MainWindow
实例已经不存在了。我打赌指向MainWindow
(又称MainWindow
)的指针已经不存在了initialized@MarkoFrelih,@cmannett85:谢谢,更新了错误@鲍里斯本:你的意思是在对话框窗口的构造函数中初始化指向主窗口的指针吗@这是否意味着我需要新建一个QString对象?