1

我在 Techlog 的三元图中为 DataSelection Event 编写了这个测试,它获取了太多数据。

我在这里做错了什么?

在运行方法中 - 订阅事件:

void SetupTernaryPlot::run()
{
    workspace.connect(Workspace::SelectionChanged, this, SLOT(onSelectionChanged(const Slb::Techlog::SelectionChangedArgs&)));
}

这是我的事件处理程序:

void SetupTernaryPlot::onSelectionChanged(const Slb::Techlog::SelectionChangedArgs args)
{
    qWarning() << "TernaryPlot::onInteractiveSelectionChanged";
    int i=0;
    foreach (Selection selection, args.selectionsChanged())
    {
        qWarning() << "Interactive Selection " << i++ << selection.dataset().referenceVariable().rowCount() << endl; //selectlist;
    }
}

我的事件处理程序得分太多。我怎么知道已经选择了什么?

4

1 回答 1

1

确实有可能实现这一点,即使此时解决方案不是很优雅。

如果您研究包中的“setuplogview”示例(SetupLogview::onSelectionChanged),您会发现您可以使用 -1 过滤掉未选择的索引。

(如果您有权访问 WAT,则会创建一张票以增强此https://wat.grabels-fr0235.slb.com/techlog/ticket/24300

于 2013-10-14T14:45:53.987 回答