0
我想要显示一个QTreeView
当用户从我的MainWindow
(在我的情况下是AgendaWindow
)菜单中选择QAction
。QTreeView立即关闭
问题是,当我点击按钮来显示它时,它会打开QTreeView
并立即关闭它。我放了一个无限循环(while(1<2))
但后来我的所有程序都被阻塞了,我找不到相当于system("pause")
的东西。
这里是我的功能:
void AgendaWindow::display_projects()
{
QStandardItemModel* model = new QStandardItemModel;
QStandardItem *parentItem= model->invisibleRootItem();
for (std::vector<Projet*>::const_iterator it =PM.getInstance().getTab().begin(); it!= PM.getInstance().getTab().end(); it++)
{
// I display a project
QStandardItem* item=new QStandardItem(QString((*it)->getTitre()));
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
parentItem->appendRow(item);
Projet* p = (*it);
// I display every project's tasks
for (std::vector<Tache*>::const_iterator itp = p->GetTabProjet().begin(); itp != p->GetTabProjet().end(); itp++)
{
QStandardItem* itemp = new QStandardItem((*itp)->getTitre());
//itemp->setFlags(itemp->flags() & ~Qt::ItemIsEditable);
item->appendRow(itemp);
}
}
QTreeView *treeView=new QTreeView;
treeView->setModel(model);
treeView->show();
//while(1<2);
}
谢谢!
我做了一个类,它的工作,然后我很好奇,再次尝试我的本地方法,它出人意料地工作!我可以让我的主窗口有我的议程和我的树视图,直到关闭它才离开。谢谢 ! –