Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2166

Supported signatures: PySide6.QtWidgets.QMdiSubWindow.setWidget(PySide6.QtWidgets.QWidget)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 6.4.1
    • PySide
    • None
    • Windows

    Description

      There is problem to add own widget as .setWidget(l)

       
        PySide6.QtWidgets.QMdiSubWindow.setWidget(QVBoxLayout)
      Supported signatures:
        PySide6.QtWidgets.QMdiSubWindow.setWidget(PySide6.QtWidgets.QWidget)

      from PySide6.QtCore import QRect, QCoreApplication, QMetaObject
      from PySide6.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout, QPushButton, QMainWindow, QMdiArea, QMenu, QMenuBar, QMdiSubWindow, QApplication
      
      # Converted .ui file from Qt Designer
      class Ui_MainWindow(object):
          def setupUi(self, MainWindow):
              if not MainWindow.objectName():
                  MainWindow.setObjectName(u"MainWindow")
              MainWindow.resize(1920, 1080)
              self.centralwidget = QWidget(MainWindow)
              self.centralwidget.setObjectName(u"centralwidget")
              self.horizontalLayoutWidget = QWidget(self.centralwidget)
              self.horizontalLayoutWidget.setObjectName(u"horizontalLayoutWidget")
              self.horizontalLayoutWidget.setGeometry(QRect(0, 0, 1920, 1054))
              self.horizontalLayout = QHBoxLayout(self.horizontalLayoutWidget)
              self.horizontalLayout.setSpacing(7)
              self.horizontalLayout.setObjectName(u"horizontalLayout")
              self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
              self.mdiArea = QMdiArea(self.horizontalLayoutWidget)
              self.mdiArea.setObjectName(u"mdiArea")
              self.horizontalLayout.addWidget(self.mdiArea)
              MainWindow.setCentralWidget(self.centralwidget)
              self.menuBar = QMenuBar(MainWindow)
              self.menuBar.setObjectName(u"menuBar")
              self.menuBar.setGeometry(QRect(0, 0, 1920, 26))
              self.menuFile = QMenu(self.menuBar)
              self.menuFile.setObjectName(u"menuFile")
              self.menuEdit = QMenu(self.menuBar)
              self.menuEdit.setObjectName(u"menuEdit")
              self.menuView = QMenu(self.menuBar)
              self.menuView.setObjectName(u"menuView")
              self.menuPreferences = QMenu(self.menuBar)
              self.menuPreferences.setObjectName(u"menuPreferences")
              self.menuWindow = QMenu(self.menuBar)
              self.menuWindow.setObjectName(u"menuWindow")
              self.menuHelp = QMenu(self.menuBar)
              self.menuHelp.setObjectName(u"menuHelp")
              self.menuTools = QMenu(self.menuBar)
              self.menuTools.setObjectName(u"menuTools")
              MainWindow.setMenuBar(self.menuBar)
      
      
              self.retranslateUi(MainWindow)
      
              QMetaObject.connectSlotsByName(MainWindow)
          # setupUi
      
          def retranslateUi(self, MainWindow):
              MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
          # retranslateUi
      
      
      # Converted .ui file from Qt Designer
      # Custom class to house the application.
      class MainWindow(QMainWindow):
          def __init__(self):
              super().__init__()
              self.ui = Ui_MainWindow()
              self.ui.setupUi(self)
      
              self.initialize_subwindows()
      
              self.ui.mdiArea.tileSubWindows()
              # build the menus in readable chunks
              # ///////////////////////////////////////////////////////////////
      
          def initialize_subwindows(self):
              # Enables the windows to last longer than their create function calls.
              self.subwindow_dict = {}
      
              # Create all the subwindows. they should initialize into the subwindows_dict
              self.create_build_overview_subwindow()
              self.create_object_properties_subwindow()
      
              for window in self.subwindow_dict.values():
                  self.ui.mdiArea.addSubWindow(window)
      
              self.subwindow_dict.clear()
      
          # the next two functions create subwindows and add them to the main collection of subwindows for the MDI area
          def create_build_overview_subwindow(self):
              build_overview_window = QMdiSubWindow()
              l = QVBoxLayout()
              button1 = QPushButton("Push for Window 1")
              #button1.clicked.connect(self.toggle_window1)
              l.addWidget(button1)
              build_overview_window.setWidget(l)
              build_overview_window.setWindowTitle('Build Overview')
      
      
              self.subwindow_dict.update({'build_overview':build_overview_window})
      
          def create_object_properties_subwindow(self):
              object_properties_window = QMdiSubWindow()
              l = QVBoxLayout()
              button1 = QPushButton("Push for Window 1")
              #button1.clicked.connect(self.toggle_window1)
              l.addWidget(button1)
              object_properties_window.setWidget(l)
              object_properties_window.setWindowTitle('Object Properties')
      
      
              # Return a dict to add to the subwindow list
              # for object perminance
              self.subwindow_dict.update({'object_properties':object_properties_window})
      
      
      
      
      if __name__ == "__main__":
          app = QApplication([])
          window = MainWindow()
          window.show()
          app.exec()
      

      [^mdi_widget.py]

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            crmaurei Cristian Maureira-Fredes
            qtman Qt_resercher
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes