@@ -571,22 +571,28 @@ class MainWindow(Container):
571571 def __init__ (
572572 self , layout = "vertical" , scrollable : bool = False , ** kwargs : Any
573573 ) -> None :
574+ parent = kwargs .pop ("parent" , None )
574575 super ().__init__ (layout = layout , scrollable = scrollable , ** kwargs )
575- self ._main_window = QtW .QMainWindow ()
576576 self ._menus : dict [str , QtW .QMenu ] = {}
577- if scrollable :
578- self ._main_window .setCentralWidget (self ._scroll )
579- else :
580- self ._main_window .setCentralWidget (self ._qwidget )
577+ self ._central = self ._qwidget
578+ self ._qwidget = QtW .QMainWindow (parent )
579+ self ._qwidget .setCentralWidget (self ._central )
580+
581+ @property
582+ def _is_scrollable (self ) -> bool :
583+ return isinstance (self ._central , QtW .QScrollArea )
584+
585+ def _mgui_get_root_native_widget (self ):
586+ return self ._qwidget
581587
582588 def _mgui_get_visible (self ):
583- return self ._main_window .isVisible ()
589+ return self ._qwidget .isVisible ()
584590
585591 def _mgui_set_visible (self , value : bool ):
586- self ._main_window .setVisible (value )
592+ self ._qwidget .setVisible (value )
587593
588594 def _mgui_get_native_widget (self ) -> QtW .QMainWindow :
589- return self ._main_window
595+ return self ._qwidget
590596
591597 def _mgui_create_menu_item (
592598 self ,
@@ -596,9 +602,9 @@ def _mgui_create_menu_item(
596602 shortcut : str | None = None ,
597603 ):
598604 menu = self ._menus .setdefault (
599- menu_name , self ._main_window .menuBar ().addMenu (f"&{ menu_name } " )
605+ menu_name , self ._qwidget .menuBar ().addMenu (f"&{ menu_name } " )
600606 )
601- action = QtW .QAction (action_name , self ._main_window )
607+ action = QtW .QAction (action_name , self ._qwidget )
602608 if shortcut is not None :
603609 action .setShortcut (shortcut )
604610 if callback is not None :
0 commit comments