我在Techlog的三元图中为DataSelection事件编写了这个测试,它获得的数据太多了。
我在这里做错了什么?
在run方法中 - 订阅事件:
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;
}
}
我的事件处理程序获得了太多积分。我怎么知道选择了什么?
答案 0 :(得分:1)
确实可以实现这一点,即使此时解决方案不是很优雅。
如果您研究包中的“setuplogview”示例(SetupLogview :: onSelectionChanged),您可以发现可以使用-1来过滤掉未选择的索引。
(如果您有权访问WAT,则会创建一个用于增强此https://wat.grabels-fr0235.slb.com/techlog/ticket/24300的票证)