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

2024-09-30 16:20:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用pyqt5用python编写我的第一个应用程序。我的所有图标和主脚本工作正常,我已导入所有模块。现在我需要把一切联系起来。我最大的问题是。当我点击图标它打开文件浏览器;然后我点击.pdf文件和。。。在这里我想我的程序运行def dzielenistron() 但它破坏了我的程序。我尝试过许多不同的解决方案,但仍然没有找到答案,以下是一些不配合的代码:

 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)

当然所有的线都在同一水平线上。我不知道为什么这里会改变…

我会很感激你的建议


Tags: 文件nameselfpdfdefpageopenfilename
1条回答
网友
1楼 · 发布于 2024-09-30 16:20:00

试试看:

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)   

相关问题 更多 >