• 4719阅读
  • 1回复

不同的treeitem如何对应不同的tablewidget [复制链接]

上一主题 下一主题
离线winterlxd
 

只看楼主 正序阅读 楼主  发表于: 2008-10-14
— 本帖被 XChinux 执行加亮操作(2008-10-15) —
请大家帮忙看看怎么解决啊?本人新手!谢谢!!

程序主窗体左侧是一个treewidget,有不同的项目:顶级项、子项...
程序主窗体右侧是一个tablewidget,用以显示tree中对应项目的详细信息

现在的问题是:tree中不同项目需要有不同的table与之对应,这要怎么解决?

离线frankpaine
只看该作者 1楼 发表于: 2008-10-14
mvc架构。耐心翻翻英文文档还是比较容易的。
以前做过一个,不过两边都是用的QTreeView
theTree, theList,左边是tree的样子,右边全是单级的,和list一样
它可以有一个类似坐标的东西,有了坐标就好对应。
给楼主一个测试的代码
具体坐标如何对应,鼠标点点,用QMessageBox或者QStateBar显示一下就知道了!
很多时候控件的特性并不清楚,自己写点代码测测就知道了!

主窗口头文件里:
QTreeView *theTree;
QTreeView  *theList;
QStandardItemModel *listModel;
QStandardItemModel *treeModel;

构造函数里:
listModel = new QStandardItemModel(0,1);
treeModel = new QStandardItemModel(0,1);

theList->setModel(listModel);
theTree->setModel(treeModel);

connect(theTree, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onTreeItem(const QModelIndex &)));

实现:
void MainWindow::onTreeItem(const QModelIndex &item)
{
info=QString::number(theList->currentIndex().row())+ "-" + QString::number(theTree->currentIndex().parent().row()) + "-" + QString::number(theTree->currentIndex().row())
QMessageBox::about(this, "", info);
}
[ 此贴被frankpaine在2008-10-14 14:04重新编辑 ]
快速回复
限100 字节
 
上一个 下一个