简单说说,Qt 实现Ui界面文件读、写操作

鱼弦
全栈领域优质创作者
博客专家认证
2023-08-06 12:03:18

实现效果:

 该输入框的内容是测试输入,可以根据自己需要测试。

 

在PyQt中实现UI界面文件的读写操作可以通过使用QFileQTextStream类来实现。以下是一个简单的示例代码,演示了如何在PyQt中进行UI界面文件的读写操作:

from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QTextEdit, QVBoxLayout, QWidget, QFileDialog
from PyQt5.QtCore import QFile, QTextStream

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.button_open = QPushButton('Open')
        self.button_open.clicked.connect(self.open_file)

        self.button_save = QPushButton('Save')
        self.button_save.clicked.connect(self.save_file)

        self.text_edit = QTextEdit()

        layout = QVBoxLayout()
        layout.addWidget(self.button_open)
        layout.addWidget(self.button_save)
        layout.addWidget(self.text_edit)

        central_widget = QWidget()
        central_widget.setLayout(layout)
        self.setCentralWidget(central_widget)

    def open_file(self):
        file_name, _ = QFileDialog.getOpenFileName(self, 'Open File')
        if file_name:
            file = QFile(file_name)
            if file.open(QFile.ReadOnly | QFile.Text):
                stream = QTextStream(file)
                text = stream.readAll()
                self.text_edit.setPlainText(text)
                file.close()

    def save_file(self):
        file_name, _ = QFileDialog.getSaveFileName(self, 'Save File')
        if file_name:
            file = QFile(file_name)
            if file.open(QFile.WriteOnly | QFile.Text):
                stream = QTextStream(file)
                text = self.text_edit.toPlainText()
                stream << text
                file.close()

if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在上述代码中,我们创建了一个简单的主窗口 MainWindow,其中包含了两个按钮(Open和Save)和一个文本编辑框(QTextEdit)。点击Open按钮将打开一个文件选择对话框,选择要打开的文件并将其内容显示在文本编辑框中。点击Save按钮将打开一个文件保存对话框,选择保存的文件路径后将文本编辑框的内容保存到文件中。

确保已经安装了PyQt库,可以通过pip install PyQt5命令进行安装。

...全文
327 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

125

社区成员

发帖
与我相关
我的任务
社区描述
全栈技术社区,指在创建一个和谐的技术群体,共同学习进步
qt前端tcp/ip 个人社区 四川省·成都市
社区管理员
  • 鱼弦
  • M malloc
  • 恰柠
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧