如何在相同 Class 的另一个方法中使用 Class 方法的成员?
How to use a member of a Class method inside another method of the same Class?
如何使用setName/getName方法的成员nomeFile来设置saveFile方法的输出文件名。 QString nomeFile 在 file.h 内部是私有的
我创建的文件returns出现以下错误
QFSFileEngine::open: 未指定文件名
dialog.cpp
nomeFile="abcd"; // private: QString nomeFile; in dialog.h
file ogg1;
ogg1.setName(nomeFile);
f.cpp
file ogg2;
ogg2.saveFile();
file.cpp
/* COSTRUTTORE */
a::a()
{
}
/* DISTRUTTORE */
a::~a()
{
}
void a::setName(QString _nomeFile)
{
nomeFile="C:\Users\MDN\Documents\A\" + _nomeFile + ".txt";
if(!nomeFile.isEmpty())
{
QFile::remove(nomeFile);
}
}
QString a::getName()
{
return nomeFile;
}
void a::saveFile()
{
QFile file(nomeFile);
if (file.open(QIODevice::Append | QIODevice::WriteOnly | QIODevice::Text)
{
QTextStream stream(&file);
stream << "File salvato correttamente";
stream << ".....";
stream << ".....";
}
}
尝试像这样使用它:
setName("filename.txt");
然后在您的 saveFile 方法中,添加如下参数:a::saveFile(QString _nomefile)
然后当您调用该方法时,a::saveFile(getName())
一些猜测如下:
你有一些类似 dialog.hpp 的东西:
class MyDialog : QDialog
{
public:
MyDialog(QObject * parent = 0) : QDialog(parent) {}
// other public stuff here
private:
QString nomeFile;
// other private stuff here
}
您在两个文件中使用了两个单独的对象,要解决此问题,您应该使用一个对象并引用它。
例如
class MyDialog : QDialog
{
public:
MyDialog(QObject * parent = 0, file& ogg1) : QDialog(parent), m_ogg1(ogg1) {}
// other public stuff here
private:
QString nomeFile;
file& m_ogg1;
// other private stuff here
}
dialog.cpp
void MyDialog::someMethod()
{
nomeFile="abcd";
m_ogg1.setName(nomeFile);
}
f.cpp
file ogg1;
MyDialog * dialog(this, ogg1);
dialog->exec();
ogg1->saveFile();
如何使用setName/getName方法的成员nomeFile来设置saveFile方法的输出文件名。 QString nomeFile 在 file.h 内部是私有的 我创建的文件returns出现以下错误
QFSFileEngine::open: 未指定文件名
dialog.cpp
nomeFile="abcd"; // private: QString nomeFile; in dialog.h
file ogg1;
ogg1.setName(nomeFile);
f.cpp
file ogg2;
ogg2.saveFile();
file.cpp
/* COSTRUTTORE */
a::a()
{
}
/* DISTRUTTORE */
a::~a()
{
}
void a::setName(QString _nomeFile)
{
nomeFile="C:\Users\MDN\Documents\A\" + _nomeFile + ".txt";
if(!nomeFile.isEmpty())
{
QFile::remove(nomeFile);
}
}
QString a::getName()
{
return nomeFile;
}
void a::saveFile()
{
QFile file(nomeFile);
if (file.open(QIODevice::Append | QIODevice::WriteOnly | QIODevice::Text)
{
QTextStream stream(&file);
stream << "File salvato correttamente";
stream << ".....";
stream << ".....";
}
}
尝试像这样使用它:
setName("filename.txt");
然后在您的 saveFile 方法中,添加如下参数:a::saveFile(QString _nomefile)
然后当您调用该方法时,a::saveFile(getName())
一些猜测如下:
你有一些类似 dialog.hpp 的东西:
class MyDialog : QDialog
{
public:
MyDialog(QObject * parent = 0) : QDialog(parent) {}
// other public stuff here
private:
QString nomeFile;
// other private stuff here
}
您在两个文件中使用了两个单独的对象,要解决此问题,您应该使用一个对象并引用它。
例如
class MyDialog : QDialog
{
public:
MyDialog(QObject * parent = 0, file& ogg1) : QDialog(parent), m_ogg1(ogg1) {}
// other public stuff here
private:
QString nomeFile;
file& m_ogg1;
// other private stuff here
}
dialog.cpp
void MyDialog::someMethod()
{
nomeFile="abcd";
m_ogg1.setName(nomeFile);
}
f.cpp
file ogg1;
MyDialog * dialog(this, ogg1);
dialog->exec();
ogg1->saveFile();