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打印文件名。
答案 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);
}