import FreeCADGui from PySide2 import QtCore, QtWidgets try: from PySide2.QtWebEngineWidgets import QWebEngineView except ImportError: QtWidgets.QMessageBox.critical(None, "Error", "QtWebEngineWidgets is not available.") raise class WebBrowserDockWidget(QtWidgets.QDockWidget): def __init__(self, parent=None): super(WebBrowserDockWidget, self).__init__('Web Browser', parent) self.setAllowedAreas(QtCore.Qt.RightDockWidgetArea) # Create a web view self.web_view = QWebEngineView() self.web_view.load(QtCore.QUrl("https://www.example.com")) # Replace with your desired URL # Set the web view as the main widget of the dock widget self.setWidget(self.web_view) def runMacro(): mw = FreeCADGui.getMainWindow() # Create and add the dock widget dock_widget = WebBrowserDockWidget(mw) mw.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock_widget) dock_widget.show() runMacro()