簡體   English   中英

PyQt5-如何將Qfile對話框帶到最前面?

[英]PyQt5 - how to bring the Qfiledialog to the front?

我的代碼使用PyQt打開一個文件夾選擇對話框。 選擇文件夾后,它將最小化。 我希望對話框在其他任何窗口前彈出。 我還沒有找到解決方案。 有什么建議么?

from sys import executable, argv
from subprocess import check_output
from PyQt5.QtWidgets import QFileDialog, QApplication

def gui_fname(directory=''):
    file = check_output([executable, __file__, directory])
    return file.strip()

if __name__ == "__main__":
    directory = argv[1]
    app = QApplication([directory])
    folderpath = QFileDialog.getExistingDirectory(None, "Select folder")

我認為您的問題來自以下功能中的“無”。 folderpath = QFileDialog.getExistingDirectory(None, "Select folder")

無法設置對話框模態,因為它沒有父級。 通常,我們擁有self而不是None

編輯:當然應用程序不是從QWidget繼承的。 對於那個很抱歉。

改用這個。 我測試了它的工作原理:

import sys
from subprocess import check_output
from PyQt5.QtWidgets import QFileDialog, QApplication, QWidget

def gui_fname(directory=''):
    file = check_output([executable, __file__, directory])
    return file.strip()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    wid = QWidget()
    folderpath = QFileDialog.getExistingDirectory(wid, "Select folder")
    sys.exit(app.exec_())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM