""" summary: create a dockable container, and populate it with Qt widgets description: Using `ida_kernwin.PluginForm.FormToPyQtWidget`, this script converts IDA's own dockable widget into a type that is recognized by PyQt5, which then enables populating it with regular Qt widgets. level: beginner """ from PyQt5 import QtCore, QtGui, QtWidgets class MyPluginFormClass(ida_kernwin.PluginForm): def OnCreate(self, form): """ Called when the widget is created """ # Get parent widget self.parent = self.FormToPyQtWidget(form) self.PopulateForm() def PopulateForm(self): # Create layout layout = QtWidgets.QVBoxLayout() layout.addWidget( QtWidgets.QLabel("Hello from PyQt")) layout.addWidget( QtWidgets.QLabel("Hello from IDAPython")) self.parent.setLayout(layout) def OnClose(self, form): """ Called when the widget is closed """ pass plg = MyPluginFormClass() plg.Show("PyQt hello world")