gpt4 book ai didi

c++ - 当我尝试读取其他 dialog.ui 的空数据时,Qt c++ 读取访问冲突

转载 作者:行者123 更新时间:2023-11-28 05:15:43 25 4
gpt4 key购买 nike

我有读取访问冲突的问题。

我想做的是:

我有两种形式:mainwindow.ui 和 dialog.ui

dialog.h 中我编写了这个

public:
explicit Dialog(QWidget *parent = 0);
~Dialog();

double getValue();

QString getName();

dialog.cpp这个

double Dialog::getValue()
{
double result = 0.0;
if(this->ui->lE_value->text().isEmpty())
{
result = 0.0;
}
else
{
QString set_value = this->ui->lE_value->text();
result = set_value.toDouble();
}

return result;
}

QString Dialog::getName()
{
QString def_name = "def_name";
if(this->ui->lE_name->text().isEmpty())
{
def_name = "def_name";
}
else
{
QString set_name = this->ui->lE_name->text();
def_name = set_name;
}

return def_name;
}

另一方面,在 ma​​inwindow.h

private:
Ui::MainWindow *ui;

Dialog* form_dialog;

然后在 ma​​inwindow.cpp 中尝试

if(form_dialog->getValue() > 0)
{
double value = form_dialog->getValue();
}

我期待以下内容

我需要执行代码,但如果我不打开此对话框并设置任何值,我会收到此错误。

异常读取访问冲突

最佳答案

这将防止您的代码崩溃,但您必须找出为什么 form_dialog 为 NULL。

if (form_dialog != NULL) {
if(form_dialog->getValue() > 0)
{
double value = form_dialog->getValue();
}
}

关于c++ - 当我尝试读取其他 dialog.ui 的空数据时,Qt c++ 读取访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com