Trouble with QList
Trouble with QList
如果我在函数中设置了QList,它会正常工作
void MainWindow::ReadXML() {
...
QList<QString> list;
list << "alfa" << "beta" << "gamma" << "delta" << "epsilon";
...
}
但是如果尝试在块之外编写相同的代码(QList必须对整个文件可见),Qt Creator在最后一行用红色下划线告诉我这个错误:"预期声明"
任何建议吗?
您可能有几种方法来解决这个问题,但这里是其中之一:
static QStringList myStringList = QStringList << "foo" << "bar" << "baz";
void MainWindow::ReadXML()
{
...
useMyStringList(myStringList);
...
}
,但是像这样使用静态变量是不好的做法,所以我可能会更多地利用c++,至少,我会创建一个如下的函数:
static QStringList myStringList()
{
static QStringList stringList = QStringList() << "foo" << "bar" << "baz";
return stringList;
}
void MainWindow::ReadXML()
{
...
useMyStringList(myStringList());
...
}
1)注意,您可以使用QStringList而不是QList。它将为您提供方便的方法,总的来说,感觉更自然。
在c++ 11及以后的版本中,你可以使用初始化列表,而不是写:QStringList myStringList = QStringList << "foo" << "bar" << "baz";
你可以这样做:
QStringList myStringList{"foo", "bar", "baz"};
相关文章:
- Problems with std::cin.fail()
- 如何检查QList中是否存在值
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- Boost.TEST with CLion: "Test framework quit unexpectedly"
- 访问类 QList 指针的成员
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Issues with Win32 ReadProcessMemory API
- Qt with WinAPI MouseProc
- [[maybe_unused]] with structured_binding?
- Issue with WriteProcessMemory
- C++ template for QList
- OpenCV RTP-Stream with FFMPEG
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- std::adjacent_difference with std::chrono time_point
- 如何使用 QSortFilterProxyModel::sort 对 Qlist 中的数据进行排序
- DLL Made with CMake 使程序崩溃
- <double> QList in QT with Visual Studio add in
- QList in classes with QT Creator/c++
- Trouble with QList