Python uses PyQt5 to complete the dialog method for selecting a file or directory

  • 2021-07-03 00:30:55
  • OfStack

As shown below:


import sys
from PyQt5.QtWidgets import QMainWindow,QApplication,QTextEdit,QAction,QFileDialog
from PyQt5.QtGui import QIcon

class Example(QMainWindow):
  def __init__(self):
    super(Example, self).__init__()
    self.initUI()
  def initUI(self):
    self.textEdit = QTextEdit()
    self.setCentralWidget(self.textEdit)
    self.statusBar()

    openfile = QAction(QIcon(r'C:\Users\Administrator\PycharmProjects\QT\picture\ Documents .jpg'),'open',self)
    openfile.setShortcut("Ctrl + 0")
    openfile.setStatusTip('open new file')
    openfile.triggered.connect(self.showDialog)

    menubar = self.menuBar()
    filemune = menubar.addMenu('$File')
    filemune.addAction(openfile)

    self.setGeometry(300,300,300,300)
    self.setWindowTitle('FIEL dialog')
    self.show()
  def showDialog(self):
    fname = QFileDialog.getOpenFileName(self,'open file', '/')
    if fname[0]:
      try:
        f = open(fname[0], 'r')
        with f:
          data = f.read()
          self.textEdit.setText(data)
      except:
        self.textEdit.setText(" Failed to open file, possibly due to file type error ")
if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

Related articles: