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
Forum Updated to NodeBB v4.3 + New Features

QFileDialog open on top of windows

Scheduled Pinned Locked Moved Solved General and Desktop
5 Posts 3 Posters 548 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