pyqt5打开并读取文件

pyqt5 desginer
如何设置打开文件,图片的按钮。
图片保存,剪切,放大,旋转,缩小,
撤销

该回答引用GPT:
PyQt5可以使用QFileDialog类来实现打开文件和图片的按钮,代码如下:

from PyQt5.QtWidgets import QFileDialog

def openFileNameDialog(self):
    options = QFileDialog.Options()
    options |= QFileDialog.DontUseNativeDialog
    fileName, _ = QFileDialog.getOpenFileName(self,"QFileDialog.getOpenFileName()", "","All Files (*);;Python Files (*.py)", options=options)
    if fileName:
        print(fileName)

def openFileNamesDialog(self):
    options = QFileDialog.Options()
    options |= QFileDialog.DontUseNativeDialog
    files, _ = QFileDialog.getOpenFileNames(self,"QFileDialog.getOpenFileNames()", "","All Files (*);;Python Files (*.py)", options=options)
    if files:
        print(files)

def saveFileDialog(self):
    options = QFileDialog.Options()
    options |= QFileDialog.DontUseNativeDialog
    fileName, _ = QFileDialog.getSaveFileName(self,"QFileDialog.getSaveFileName()","","All Files (*);;Text Files (*.txt)", options=options)
    if fileName:
        print(fileName)

图片保存,切割,放大,旋转,缩小,撤销等操作可以使用QPixmap类来实现,代码如下:

from PyQt5.QtGui import QPixmap

# 保存图片
pixmap.save('filename.png')

# 切割图片
pixmap.copy(x, y, width, height)

# 放大图片
pixmap.scaled(width, height)

# 旋转图片
pixmap.transformed(matrix)

# 缩小图片
pixmap.scaledToWidth(width)

# 撤销操作
pixmap.undo()

如还有疑问,可以私信帮助解决。

这个设置工具栏的属性,里面关联图标的列表

该回答引用GPTᴼᴾᴱᴺᴬᴵ
要在PyQt5中实现打开并读取文件,可以使用QFileDialog类来打开文件对话框,并使用QFile类读取文件。

以下是一个简单的示例,演示如何在PyQt5中实现打开文件并读取文件:

from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog
from PyQt5.QtCore import QFile

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('File Dialog')
        self.setGeometry(100, 100, 400, 300)

        self.button = QPushButton('Open', self)
        self.button.clicked.connect(self.openFile)

        self.show()

    def openFile(self):
        options = QFileDialog.Options()
        options |= QFileDialog.ReadOnly
        fileName, _ = QFileDialog.getOpenFileName(self, "Open File", "", "Text Files (*.txt);;All Files (*)", options=options)
        if fileName:
            file = QFile(fileName)
            if file.open(QFile.ReadOnly | QFile.Text):
                text = file.readAll()
                self.textEdit.setText(text)

if __name__ == '__main__':
    app = QApplication([])
    widget = MyWidget()
    app.exec_()



在此示例中,创建一个QWidget并添加一个QPushButton。当用户单击按钮时,将打开文件对话框。使用getOpenFileName()函数打开文件对话框,并使用QFile类打开文件。一旦文件打开,就可以使用QFile.readAll()函数读取文件内容。

要设置打开图像的按钮,可以将文件过滤器更改为图像文件类型,例如:

options = QFileDialog.Options()
options |= QFileDialog.ReadOnly
fileName, _ = QFileDialog.getOpenFileName(self, "Open Image", "", "Image Files (*.png *.jpg *.bmp);;All Files (*)", options=options)


对于其他操作,可以使用QPixmap类来操作图像文件。例如,要保存图像文件,可以使用QPixmap.save()函数。要剪切、放大、缩小和旋转图像,请参阅QPixmap类的其他函数。要撤销操作,可以使用QUndoStack类。