Files
ThirdParty-6/ParaView-5.0.1/Plugins/PythonQtPlugin/demo.py

71 lines
1.7 KiB
Python

import os
import PythonQt
from PythonQt import QtGui, QtCore
import paraview.simple as smp
def getPVApplicationCore():
return PythonQt.paraview.pqPVApplicationCore.instance()
def getPVSettings():
return getPVApplicationCore().settings()
def getServerManagerModel():
return getPVApplicationCore().getServerManagerModel()
def getPQView(view):
model = app.getServerManagerModel()
return PythonQt.paraview.pqPythonQtMethodHelpers.findProxyItem(model, view.SMProxy)
def getRenderView():
renderView = smp.GetRenderView()
return getPQView(renderView)
def findQObjectByName(widgets, name):
for w in widgets:
if w.objectName == name:
return w
def getMainWindow():
topLevelWidgets = QtGui.QApplication.topLevelWidgets()
for widget in QtGui.QApplication.topLevelWidgets():
if isinstance(widget, PythonQt.private.ParaViewMainWindow)
return widget
#
# alternate implementation:
#return findQObjectByName(QtGui.QApplication.topLevelWidgets(), 'pqClientMainWindow')
def testButton():
def makeSphere():
smp.Sphere()
smp.Show()
smp.ResetCamera()
smp.Render()
global button
button = QtGui.QPushButton('sphere')
button.connect('clicked()', makeSphere)
button.show()
# note, the button was assigned to a global variable so that the
# reference is not deleted when this function returns
def sayHello():
QtGui.QMessageBox.information(getMainWindow(), 'Hello PythonQt!')
def testUserInput():
fileName = QtGui.QFileDialog.getOpenFileName(getMainWindow(), 'Open file',)
if fileName:
smp.OpenDataFile(fileName, guiName=os.path.basename(fileName))
smp.Show()
smp.ResetCamera()
smp.Render()