PyQt 文件浏览器 - 如何使用该文件?

PyQt file browser - how to work with that file?

我正在 python 使用 pyqt5 编写我的第一个应用程序。我的所有图标和主要脚本都正常工作,我导入了所有模块。现在我需要将所有东西连接在一起。在这里,我遇到了最大的问题。当我单击图标时,它会打开文件浏览器;然后我点击 .pdf 文件和...在这里我想我的程序 运行 def dzielenieStron() 但它使我的程序崩溃。我尝试了很多不同的解决方案,但仍然没有找到答案,这是不合作的部分代码:

 def openFile(self):
        self.fileName = QtWidgets.QFileDialog.getOpenFileName(None, 'Wybierz plik')
        self.name = open(fileName, 'rb')
        self.dzielenieStron()

    def dzielenieStron(self):
        ReaderSplitPage = PyPDF2.PdfFileReader(self.name, 'rb')
        for page in range(ReaderSplitPage.getNumPages()):
            p = ReaderSplitPage.getPage(page)
            WriterSplitPage = PyPDF2.PdfFileWriter()
            WriterSplitPage.addPage(p)
            with open('page-%02d.pdf' % page, 'wb') as f:  # Tworzy nazwy plikow po kolei
                WriterSplitPage.write(f)

当然所有的线都在同一层。我不明白为什么这里改了...

非常感谢您的提示

试一试:

def openFile(self):
    pathFileName, _ = QtWidgets.QFileDialog.getOpenFileName(None, 'Wybierz plik', '', 'pdf(*.pdf)')   
    print("pathFileName-`{}`, \n_-`{}`".format(pathFileName, _))
    if pathFileName:
        print("Wybrany plik: ", pathFileName)
        f = open(pathFileName, 'rb')
        self.dzielenieStron(f)

def dzielenieStron(self, f):   
    with f:
        ReaderSplitPage = PyPDF2.PdfFileReader(f, 'rb')
        for page in range(ReaderSplitPage.getNumPages()):
            p = ReaderSplitPage.getPage(page)
            WriterSplitPage = PyPDF2.PdfFileWriter()
            WriterSplitPage.addPage(p)
            with open('page-%02d.pdf' % page, 'wb') as f:  # Tworzy nazwy plikow po kolei
                WriterSplitPage.write(f)