[PySide] 範囲指定でスクリーンショットをとるスクリプト

CEDECのDFさんセッションで、現在の画面を範囲選択してSSをアップする
という処理をやっているのを見て同じような事をできないかなーと思って
PySideを使用して画面をキャプチャするやり方を調べてみました。

やり方は、
【Qt】スクリーンショット作成アプリケーションを製作する no.4 スクリーンショットの範囲指定切り出し

こちらのサイトのC++のコードを参考にしました。

コード全体はこんな感じになりました。

最初、よくあるDialogのようなWindow外に対して描画したりするのってどうするんだろう?
というあたりから分からなくてしばらく停滞したものの
Windowを全体化してやればOK というのに気づいて うああああああああああと、ひとり頭を抱えてしまいました。

流れは、
1 いまの画面をキャプチャして、全画面化したDialogに描画
2 マウスのイベントを拾って座標をセット
3 範囲部分を描画
4 マウスを放したら、画像を保存
という感じです。

今回初めて知ったのが、UIを表示するときに showFullScreen() にすれば全画面で表示されること。
self.repaint() で、再度描画ができること。

描画周りは難しそうだから敬遠していたところがあるのですが、この辺理解出来ると
PySideでの夢が大幅に広がりそうなので、ちまちまと覚えてみようかなぁと思います。

調べてる最中にこんな動画を見つけて( ゚Д゚)ポカーンになりました。
こういうことが出来るようになる…といいなぁ

[PySide] 範囲指定でスクリーンショットをとるスクリプト」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。


*