Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QFileDialog open on top of windows

QFileDialog open on top of windows

Scheduled Pinned Locked Moved Solved General and Desktop
5 Posts 3 Posters 501 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mikeeeeee
    wrote on last edited by
    #1

    Hi!
    I have window:

        def __init__(self, parent):  # инициализация
            super(DialogEpr, self).__init__()
            self.ui = uic.loadUi("dialogEpr.ui")
            self.ui.setWindowModality(QtCore.Qt.ApplicationModal)
    

    And I open QFileDialog, but QFileDialog opens under other windows.
    How open QFileDialog on top of windows?

    It's code QFileDialog:

    fileDialog = QFileDialog(self.ui)
            fileDialog.setWindowModality(QtCore.Qt.ApplicationModal)
            fileDialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
            fileDialog.setLabelText(QFileDialog.Accept, "Открыть")
            fileDialog.setLabelText(QFileDialog.Reject, "Отмена")
            fileDialog.setWindowTitle('Выбрать векторную карту')
            fileDialog.setNameFilters(["Файл ЭПР (*.rcs)"])
            pathFile = ""
            if fileDialog.exec():
                pathFile = fileDialog.selectedUrls()[0].toDisplayString().replace('file://', '')
    

    It is not work:

             fileDialog.setWindowFlags( QtCore.Qt.Window
                                          | QtCore.Qt.CustomizeWindowHint
                                          | QtCore.Qt.WindowTitleHint
                                          | QtCore.Qt.WindowCloseButtonHint )
    
    jsulmJ 1 Reply Last reply
    0
    • M Mikeeeeee

      Hi!
      I have window:

          def __init__(self, parent):  # инициализация
              super(DialogEpr, self).__init__()
              self.ui = uic.loadUi("dialogEpr.ui")
              self.ui.setWindowModality(QtCore.Qt.ApplicationModal)
      

      And I open QFileDialog, but QFileDialog opens under other windows.
      How open QFileDialog on top of windows?

      It's code QFileDialog:

      fileDialog = QFileDialog(self.ui)
              fileDialog.setWindowModality(QtCore.Qt.ApplicationModal)
              fileDialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
              fileDialog.setLabelText(QFileDialog.Accept, "Открыть")
              fileDialog.setLabelText(QFileDialog.Reject, "Отмена")
              fileDialog.setWindowTitle('Выбрать векторную карту')
              fileDialog.setNameFilters(["Файл ЭПР (*.rcs)"])
              pathFile = ""
              if fileDialog.exec():
                  pathFile = fileDialog.selectedUrls()[0].toDisplayString().replace('file://', '')
      

      It is not work:

               fileDialog.setWindowFlags( QtCore.Qt.Window
                                            | QtCore.Qt.CustomizeWindowHint
                                            | QtCore.Qt.WindowTitleHint
                                            | QtCore.Qt.WindowCloseButtonHint )
      
      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Mikeeeeee said in QFileDialog open on top of windows:

      DialogEpr

      What type is it?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 1 Reply Last reply
      0
      • jsulmJ jsulm

        @Mikeeeeee said in QFileDialog open on top of windows:

        DialogEpr

        What type is it?

        M Offline
        M Offline
        Mikeeeeee
        wrote on last edited by Mikeeeeee
        #3

        @jsulm said in QFileDialog open on top of windows:

        What type is it?

        QObject

        class DialogEpr(QObject):  
        
            def __init__(self, parent): 
                super(DialogEpr, self).__init__()
        
                self.ui = uic.loadUi("dialogEpr.ui")
                self.ui.setWindowModality(QtCore.Qt.ApplicationModal)  
        
        JonBJ 1 Reply Last reply
        0
        • M Mikeeeeee

          @jsulm said in QFileDialog open on top of windows:

          What type is it?

          QObject

          class DialogEpr(QObject):  
          
              def __init__(self, parent): 
                  super(DialogEpr, self).__init__()
          
                  self.ui = uic.loadUi("dialogEpr.ui")
                  self.ui.setWindowModality(QtCore.Qt.ApplicationModal)  
          
          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by JonB
          #4

          @Mikeeeeee
          You seem to have both the parent/calling window/dialog and the file dialog being QtCore.Qt.ApplicationModal. Maybe this isn't a good idea/the cause of the problem, I don't know? At least try without and see if the behaviour is affected?

          1 Reply Last reply
          0
          • M Offline
            M Offline
            Mikeeeeee
            wrote on last edited by
            #5

            In result I use this:

            fileDialog = QFileDialog(self.ui)
                    fileDialog.setWindowModality(QtCore.Qt.ApplicationModal)
                    fileDialog.setOption(QFileDialog.DontUseNativeDialog)
            
            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved