PySide6 主窗口(QMainWindow)菜单(QMenu)实现打开并读取文本文件
PySide6 主窗口(QMainWindow)菜单(QMenu)实现打开并读取文本文件
单行文本框(QLineEdit)实现
# coding = utf-8from PySide6.QtWidgets import QMainWindow,QLineEdit,QApplication,QFileDialogimport sysclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.setupUi()self.eventBind()def setupUi(self):self.setWindowTitle("打开并读取文本文件")menuBar_ = self.menuBar()fileMenu = menuBar_.addMenu("文件(&F)")self.openAction = fileMenu.addAction("打开(&O)")self.lineEdit = QLineEdit()self.setCentralWidget(self.lineEdit)self.openAction.setShortcut("Ctrl + O")def eventBind(self):self.openAction.triggered.connect(self.openFile)def openFile(self):filePath, _ = QFileDialog.getOpenFileName(self, "Open file","/home","(*.txt)")if len(filePath):with open(filePath,"r") as file:self.lineEdit.setText(file.read())if __name__ == "__main__":app = QApplication(sys.argv)myWindow = MyWindow()myWindow.show()sys.exit(app.exec())
文本编辑器(QPlainTextEdit)实现
# coding = utf-8from PySide6.QtWidgets import QMainWindow,QPlainTextEdit,QApplication,QFileDialogimport sysclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.setupUi()self.eventBind()def setupUi(self):self.setWindowTitle("打开并读取文本文件")menuBar_ = self.menuBar()fileMenu = menuBar_.addMenu("文件(&F)")self.openAction = fileMenu.addAction("打开(&O)")self.plainTextEdit = QPlainTextEdit()self.setCentralWidget(self.plainTextEdit)self.openAction.setShortcut("Ctrl + O")def eventBind(self):self.openAction.triggered.connect(self.openFile)def openFile(self):filePath, _ = QFileDialog.getOpenFileName(self, "Open file","/home","(*.txt *.*)")if len(filePath):with open(filePath,"r") as file:self.plainTextEdit.setPlainText(file.read())if __name__ == "__main__":app = QApplication(sys.argv)myWindow = MyWindow()myWindow.show()sys.exit(app.exec())
参考
文件对话框
示例