
数字を直接与えてやれば、動く状況にはなっている。
あとは、UIとの対応がメインの作業になるんだけど…。
これが結構な作業量になりそうだ。
一つ出来上がれば、後はコピペと置換って状況に持ち込みたい。
目玉の一つである、regionは、プログラムが面倒だけど、是非のせたい。
これがあるだけで、使い勝手や、とっつきやすさが全然違う。
pysideで作ったウィンドウ上に、pyqtgraphのPlotWidgetを載せた。
そのPlotWidget上で、スペクトルをプロットした。
そのプロットに重ねて、フィルタ後のスペクトルをプロットした。
さらに、そのスペクトルに重ねて、pyqtgraphのregionを載せた。
これが重要。
self.graphicsView_A = pg.PlotWidget(self.tab_A, background=[0,0,0,0])
self.region_A = pg.LinearRegionItem()
self.region_A.setZValue(10)
self.region_A.setBounds([np.log10(self.doubleSpinBox_LCF_A.value()), np.log10(self.doubleSpinBox_HCF_A.value())])
self.region_A.setRegion([np.log10(self.doubleSpinBox_LCF_A.value()), np.log10(self.doubleSpinBox_HCF_A.value())])
self.graphicsView_A.addItem(self.region_A)
ざっくりと、こんなかんじだけど、これ以外にもいろいろやっているから、上記を書くだけでは、絵の様にはならない。

青くなっている部分が、region。
端の部分をドラッグすれば動くし、中央部分をドラッグすれば、幅を維持したまま動く。
setBoundで境界を指定すれば、それより外側には動かなくできる。
setRegionで値を設定すれば、その位置にregionが動いてくれる。
マウス使って動かすものに、わざわざコマンドが用意されている理由は、初期位置とかを細かく指定したい場合でしょう。
実際自分も使いました。
pyqtgraphのregionを操作している最中に、regionのエッジの値を得て、どこかに表示したいなら、
self.region_A.sigRegionChanged.connect(self.関数名)
とかすれば、カッコ内の関数を実行してくれる。
この関数の中に、UIのダブルスピンボックスに値をsetする命令でも書いておけば、regionを操作しながら、値が動くさまが見れる。
ただ、その関数の中には再計算のコマンドは入れてはいけない。
なぜならば、単純に時間がかかるから。
時間がかかる処理がしたいのであれば、動かし終わった後。
動かし終わった後にシグナルをエミットする事も出来る。
下記。
self.region_A.sigRegionChangeFinished.connect(self.関数)
二つ、シグナルをエミットするコマンドを書いた。
sigRegionChangeFinished(self)とsigRegionChanged(self)
両方共、カッコの中に、関数が入れられて実行できる。
関数名()のように、関数名の後にカッコはいらない。
要る場合もあるんだけど、ココではなぜか要らない。
理由は知らない。
【pythonの最新記事】
- 中速フーリエ変換 ~離散フーリエ変換より..
- 断面二次モーメントを、座標点の配列から計..
- 断面二次モーメントを、座標点の配列から計..
- fontファイルの文字データ(グリフ)を..
- matplotlibのpyplot.pl..
- 計算力学技術者試験の問題集 自炊(裁断→..
- pythonで、ホワイトノイズやピンクノ..
- 脳ドッグに行ってきた。→MRIの画像デー..
- matplotlibのimshowで円を..
- matplotlibの、cmapを、徐々..
- matplotlibのmake_axes..
- matplotlib floatinga..
- matplotlib plotの色を、値..
- Pythonで、「二次元フーリエ変換した..
- matplotlibのlinestyle..
- どちらが正しいRGBか。(matplot..
- matplotlibのannotateの..
- matplotlibで、x軸とy軸の数字..
- VBAで、pythonのrangeとか、..
- matplotlibのaxes3Dで、a..
https://wakelet.com/wake/MVj4R94SqOq7SVgVoGxZo
https://wakelet.com/wake/GPeOiQ-V_11IDolprv1Ud
https://wakelet.com/wake/78ftkDk7f7uqYoDOedUL4
https://wakelet.com/wake/WQXp1B6TvtKa-KV7ZRIjK
https://wakelet.com/wake/Ved4pg7VabDu9LBqnRsQ0
https://wakelet.com/wake/s_7ZbrUM4VDCLjfhg6yKn
https://wakelet.com/wake/jlBYcb1lajLgxrdszksJN
https://wakelet.com/wake/d9Xzg-JnnXIn_tBeGqGIW
https://wakelet.com/wake/SKC1j6-VzYJ1jwQLoa8ND
https://wakelet.com/wake/R_tfalMkO83mzuBEGa-C3
https://wakelet.com/wake/WfNvnSU71EoMDbGU_N0rQ
https://wakelet.com/wake/Sgfp74V4IT8OKVlABwCE6
https://wakelet.com/wake/8MH6wf2W-Cp_Hn12maM2L
https://wakelet.com/wake/ZncHEYjYpu1SUgJEzk6hk
https://wakelet.com/wake/rc1XzLuvw_VsoWSsixxFS
https://wakelet.com/wake/qnh8DUPtR_QU50QLjmuX_
https://wakelet.com/wake/SKDUJ09wCUlFIKSmlLWa-