从类中的void方法返回QString值

时间:2016-10-11 14:20:51

标签: c++ qt qstring

file.cpp

fileTxt::fileTxt()
{

}

fileTxt::~fileTxt()
{

}

void fileTxt::setFileTxt(Ui::Dialog *ui)
{
    QString fileName="test.txt"
}

void fileTxt::elabFileTxt(Ui::Dialog *ui)
{
    ui->label_7->setText(fileName);
}

我在类fileTxt中有两个方法。 在方法setFileTxt中,我将QString成员fileName设置为test.txt。 在file.h中,fileName设置为private。 如果两个方法属于同一个类,为什么不将fileName传递给elabFileTxt方法? label_7什么都不打印。如果我使用"文件名" label_7打印文件名。

2 个答案:

答案 0 :(得分:1)

您重新声明并定义了一个局部变量而不是您的类全局变量,您想要的是:

void fileTxt::setFileTxt(Ui::Dialog *ui)
{
    fileName="test.txt";
}

答案 1 :(得分:1)

您无法从QString返回类型的函数返回void

但是你可以在这里使用面向对象的优势。

您可以在课程中添加QString成员并进行设置。

class fileTxt //...
{
    //...
    private:
        QString fileName;
};

然后使用成员变量

void fileTxt::setFileTxt(Ui::Dialog *ui)
{
    fileName="test.txt" //uses class member fileName
}

void fileTxt::elabFileTxt(Ui::Dialog *ui)
{
    ui->label_7->setText(fileName);
}