<div dir="ltr"><div>I seem to remember seeing something that said that QgsDockWidget should be used rather than QDockWidget. I was trying it today, but it generates the error below in this line of code.<br><br><span style="font-family:monospace,monospace">FORM_CLASS, _ = loadUiType(os.path.join(<br>    os.path.dirname(__file__), 'ui/zoomToLatLon.ui'))<br></span></div><div><br></div><div>Has anyone had problems with this or should I not use QgsDockWidget and stick with QDockWiget? I'm trying this on QGIS 2.99.<br></div><div><br></div><div><span style="font-size:large;font-weight:600">AttributeError: module 'PyQt5.QtWidgets' has no attribute 'QgsDockWidget' </span>
<pre style="margin:12px 0px;text-indent:0px"><span style="font-family:"Courier New"">Traceback (most recent call last):<br>  File "C:/OSGEO4~1/apps/qgis-dev/./python\qgis\utils.py", line 336, in startPlugin<br>    plugins[packageName] = package.classFactory(iface)<br>  File "C:/Users/user/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\latlontools\__init__.py", line 2, in classFactory<br>    from .latLonTools import LatLonTools<br>  File "C:/OSGEO4~1/apps/qgis-dev/./python\qgis\utils.py", line 664, in _import<br>    mod = _builtin_import(name, globals, locals, fromlist, level)<br>  File "C:/Users/user/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\latlontools\latLonTools.py", line 7, in <br>    from .zoomToLatLon import ZoomToLatLon<br>  File "C:/OSGEO4~1/apps/qgis-dev/./python\qgis\utils.py", line 664, in _import<br>    mod = _builtin_import(name, globals, locals, fromlist, level)<br>  File "C:/Users/user/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\latlontools\zoomToLatLon.py", line 17, in <br>    os.path.dirname(__file__), 'ui/zoomToLatLon.ui'))<br>  File "C:\OSGEO4~1\apps\Python36\lib\site-packages\PyQt5\uic\__init__.py", line 203, in loadUiType<br>    return (ui_globals[winfo["uiclass"]], getattr(QtWidgets, winfo["baseclass"]))<br>AttributeError: module 'PyQt5.QtWidgets' has no attribute 'QgsDockWidget'</span></pre></div></div>