QListView的奇怪行为

时间:2016-06-24 18:26:10

标签: c++ qt qt-creator

我有一个c ++ qt项目,我有两个窗口。其中一个名为MainWindow,另一个名为StartingWindow

MainWindow启动时,我正在运行QProcess来运行pacman -Q以获取已安装软件包的列表。然后使用QByteArray,我获取stdout,然后将其转换为QStringList以生成QSortFilterProxyModel并将其设置为QListView } MainWindow

这种方法很好用。但是,如果我从MainWindow开始StartingWindow,则表现得很奇怪。应该显示的应用程序列表不完整。从一开始就缺少大约100个应用程序。

非常感谢任何帮助。如果您是我的代码的任何部分,请告诉我。

启动QProcess的代码:

 QStringList args;
 args << "-Q";
 commandProcess.start("pacman",args);

获取该标准的代码

QStringList applist;
model=new QStringListModel(this);
proxyModel=new QSortFilterProxyModel(this);
proxyModel->setSourceModel(model);

QByteArray cmdoutput=commandProcess.readAllStandardOutput();
QString txtoutput=cmdoutput;
applist=txtoutput.split("\n");
model->setStringList(applist);

QStringList arguments=commandProcess.arguments();
QString args=arguments.join("");
 ui->installedApps->setModel(proxyModel);

0 个答案:

没有答案