I would use the PySide2 / Qt progressbar widget. Here's the "demoPyQWidget.py" example, I've added a progress bar and a button that randomly sets the progress value, just so you can see what it looks like.
'''
Demonstrates how to create a QWidget with PySide2 and attach it to the 3dsmax main window.
'''
from PySide2 import QtCore
from PySide2 import QtWidgets
import pymxs
import random
def make_cylinder():
cyl = pymxs.runtime.Cylinder(radius=10, height=30)
pymxs.runtime.redrawViews()
return
class PyMaxDialog(QtWidgets.QDialog):
def __init__(self, parent=MaxPlus.GetQMaxMainWindow()):
super(PyMaxDialog, self).__init__(parent)
self.setWindowTitle('Pyside Qt Window')
self.initUI()
def setProgress(self):
self.progressbar.setValue(random.randint(1,100))
def initUI(self):
main_layout = QtWidgets.QVBoxLayout()
label = QtWidgets.QLabel("Click button to create a cylinder in the scene")
main_layout.addWidget(label)
cylinder_btn = QtWidgets.QPushButton("Cylinder")
cylinder_btn.clicked.connect(make_cylinder)
main_layout.addWidget(cylinder_btn)
self.progressbar=QtWidgets.QProgressBar()
main_layout.addWidget(self.progressbar)
prog_btn = QtWidgets.QPushButton("Progress")
prog_btn.clicked.connect(self.setProgress)
main_layout.addWidget(prog_btn)
self.setLayout(main_layout)
self.resize(250, 100)
def main():
w = PyMaxDialog()
w.show()
if __name__ == '__main__':
main()
Hope that helps,
Drew
Drew Avis
Content Experience Designer