初始化QList的正确方法是什么?我想让这段代码更短:
QSplitter splitter;
QList<int> list;
list.append(1);
list.append(1);
splitter.setSizes(list);
Run Code Online (Sandbox Code Playgroud)
但是当我从std :: list使用初始化时,它似乎不起作用:
splitter.setSizes(QList<int>::fromStdList(std::list<int>(1, 1)));
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,分离器似乎以1:0的比例分开.
lpa*_*app 47
您可以使用以下代码:
QList<int> list = QList<int>() << 1 << 1;
Run Code Online (Sandbox Code Playgroud)
或使用C++ 11初始化列表:
QList<int> list({1, 1});
Run Code Online (Sandbox Code Playgroud)
您可以使用-std = c ++ 0x或-std = c ++ 11选项为gcc启用后者.您还需要相关的Qt版本,其中初始化列表支持已添加到QList构造函数中.
归档时间: |
|
查看次数: |
35790 次 |
最近记录: |