0

I have a plugin window is QDialog, but I want to add QMenubar or QStatusBar

I have tried to find a way to convert QDialog to QMainWindow, but there is no result, So I try to add QMenubar in QDialog again and everything works fine Until the position of the object I added to the layout screen ran to the upper left corner.

I am not a native English speaker


def run(self):
    """Run method that performs all the real work"""

    # Create the dialog with elements (after translation) and keep reference
    # Only create GUI ONCE in callback, so that it will only load when the plugin is started
    if self.first_start == True:
        self.first_start = False
        
    
    #建立menuBar的父節點物件
    file_menu = QMenu("File")
    #建立一個
    open_action = QAction("Open",file_menu)
    open_action.setShortcut('Alt+F4')
    #把剛才建立的open action 加入file 節點
    file_menu.addAction(open_action)
    #建立一個menubar物件
    menubar = QMenuBar(self.dlg)
    #將父節點加入menubar
    menubar.addMenu(file_menu)
    #將self.dlg的menubar設定為menubar物件
    self.dlg.setMenuBar(menubar)
    
    
    
    # show the dialog
    self.dlg.show()
    # Run the dialog event loop
    result = self.dlg.exec_()
    # See if OK was pressed
    if result:
        # Do something useful here - delete the line containing pass and
        # substitute with your code.
        pass

no layout

layout

jsotola
  • 2,238
  • 1
  • 10
  • 22
Eason
  • 1
  • 1

0 Answers0