pyvistaのplotterをpyqtのウィンドウに埋め込む
pyvistaqtを使ってpyqtのwidgetとして扱える。
BackgroundPlotter().interactorがwidget。
from pyvistaqt import BackgroundPlotter
self.plotter = BackgroundPlotter()
self.plotter.setWindowTitle('3D Visualization')
self.plotter.add_mesh(pv.Sphere())
self.pyvistaWidget = self.plotter.interactor
pyqtのwidgetとして扱えるので、他のwidgetと並べて表示できる。
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QHBoxLayout
from PyQt5.QtGui import QPixmap
from pyvistaqt import BackgroundPlotter
import pyvista as pv
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# レイアウトの設定
layout = QHBoxLayout()
# 画像ウィジェットの設定
self.image_label = QLabel()
self.pixmap = QPixmap("myPhoto.jpg")
self.scaledPixmap = self.pixmap.scaled(self.image_label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
self.image_label.setPixmap(self.scaledPixmap) # 画像のパスを設定
layout.addWidget(self.image_label)
# PyVistaQtのBackgroundPlotter設定
self.plotter = BackgroundPlotter()
self.plotter.setWindowTitle('3D Visualization')
self.plotter.add_mesh(pv.Sphere()) # 球を追加
self.pyvistaWidget = self.plotter.interactor
# PyVistaウィジェットをレイアウトに追加
layout.addWidget(self.pyvistaWidget)
# メインウィンドウにレイアウトを設定
self.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
🐣
フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。
もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…
いずれも中間コストを省いたリーズナブルな価格でお請けできます。
お仕事のご相談はこちらまで
rockyshikoku@gmail.com
機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。