2017-10-03 8 views
1

xとyの範囲をいくつか設定できるプロットを使って簡単なGUIを作成しています。どのようにそれらの範囲内のプロット上のすべてのグラフからすべての項目を選択できますか? 私はmouse rectangular multi range selectionで実行されるのと同じアルゴリズムを再現しようとしていましたが、成功しませんでした。私が逃している簡単な方法があることを願っています。QCustomPlotでアイテムを手作業で選択する

例:

QCPRange A = QCPRange(2,4); 
QCPRange B = QCPRange(1,8); 

IがA内にあり、Bは、範囲プロット上の点をマークしたい:enter image description here

は、AとBはQCPRangesのペアであると言うことができます。

私はいくつかの手がかりとヒントを追求していますが、完全なコピー貼り付け準備完了コードではありません。

+0

あなたが試したコードを表示 – eyllanesc

+0

@eyllanesc私の解決策を追加しました。より良い方法は歓迎です – Luke

答えて

1

私が指名手配何達成:

彼らはすべての単一のデータポイント

が含まれている場合QCPRangesをチェック plot->getAllGraphs();

  • に各グラフのすべてのdata()を繰り返すことによって、全てのグラフからすべてのレコードを取得

    1. QCPRangesの要件を満たすインデックスに基づくQCPDataRanges

    2. QCPDataRangesからQCPSelectionを作成します。

    3. ループ内のすべてのグラフに対して適切な選択を設定します。

    注:それはQCP::iMultiSelect、プロットのために設定しなければならないの相互作用を動作させるために。また、グラフごとにsetSelectable(QCP::stMultipleDataRanges)が必要です。それ以外の場合は、選択の結果として望ましくない動作をする可能性があります。

    実際には世界で最も最適化された方法ではありませんが、私はlibの一部を書き直すことなく何も考えられませんでした。より良い方法は大歓迎です

  • 関連する問題