21. PyQt6 QFileDialog
2023-10-17 python 917
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QTextEdit, QFileDialog
from PyQt6.QtGui import QGuiApplication, QIcon, QAction
from pathlib import Path
class App(QMainWindow):
def __init__(self):
super().__init__()
self.text_edit = None
self.initUI()
def initUI(self):
self.setWindowTitle("PyQt6 QFileDialog")
self.text_edit = QTextEdit()
self.setCentralWidget(self.text_edit)
open_btn = QAction(QIcon("file-open.png"), "打开", self)
open_btn.setShortcut("Ctrl+O")
open_btn.setStatusTip("打开新文件")
open_btn.triggered.connect(self.showDialog)
menubar = self.menuBar()
file_menu = menubar.addMenu("&文件")
file_menu.addAction(open_btn)
self.setGeometry(100, 100, 400, 300)
self.center()
def showDialog(self):
home_dir = str(Path.home())
fname = QFileDialog.getOpenFileName(self, "打开文件", home_dir)
if fname[0]:
f = open(fname[0], "r", encoding="utf-8")
with f:
data = f.read()
self.text_edit.setText(data)
def center(self):
qr = self.frameGeometry()
cp = QGuiApplication.primaryScreen().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
cls_app = App()
cls_app.show()
sys.exit(app.exec())
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论