如何从Qt中的另一个cpp文件访问cpp文件中的变量?

时间:2018-04-03 10:16:04

标签: c++ qt qt-creator

我有一个QStringList变量,它在Sql.cpp文件中有一些列表,但我想在Edit.cpp中使用该列表。怎么做??

在sql.h中:

   public:
   QString path;
   static QStringList list;

在sql.cpp中 - > connectDB()函数:

    void sql::connectDB()
{
QDir dir;
path=ui->dbpath->text();
dir.setPath(path);
 dir.setNameFilters(QStringList()<<"*.db");
list= dir.entryList();
}

当我调用entryList时,列表中存储的文件名列表为QStringList。

edit.cpp:

void edit::on_pushButton_clicked()
{
SecDialog s;
s.setModal(true);

qDebug()<< sql::list.at(0);


s.exec();

}

我在edit.cpp文件中包含了sql.h文件。 但是我收到错误“Sql.cpp:error:undefined reference to Sql :: list” 在两个使用列表的文件中。希望你能解决我的问题..

1 个答案:

答案 0 :(得分:0)

您可以在Edit.cpp中将其声明为extern。

extern QStringList VarName;

<强>更新 好像你需要在你的sql.cpp

中添加QStringList sql::list;定义