1、在同目录下用文本编辑器创建JSON文件,命名为setting.json,并输入以下内容后保存:
{
"setting": {
"last_file": [
""
]
}
}
2、应用脚本:
import json
import sys
from PySide6.QtCore import QObject
from PySide6.QtWidgets import QApplication, QMainWindow, QFileDialog, QPushButton
# 读取JSON文件并分配参数
def read_json():
with open('setting.json', 'r', encoding='utf-8') as file_json:
ui.json_data = json.load(file_json)
ui.settings = ui.json_data['setting'] # 项目参数的定义
ui.last_file = ui.settings['last_file'] # 最后一次读取的文件
# 初始化
def start_todo():
read_json()
# 退出前
def before_quit():
with open('setting.json', 'w') as file: # 保存json文件
json.dump(ui.json_data, file, indent=4)
# 信号和槽
def signal_slot():
def mainWindow_button_clicked():
file_path, _ = QFileDialog.getOpenFileName(None, '请选择文件', ui.last_file[0],
"Image Files(*.*)") # 打开文件选择框
# directory_path = QFileDialog.getExistingDirectory(None, "选择项目路径") # 如果是记录路径用这个
if file_path:
ui.last_file[0] = file_path # 回存文件路径
mainWindow.button.clicked.connect(mainWindow_button_clicked)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个按钮
self.button = QPushButton('OPEN FILE', self)
if __name__ == '__main__':
app = QApplication(sys.argv)
# #######################项目级别的定义###################################
class UI(QObject): # 将项目定义为QObject,用来管理项目级别的信号和变量
# ###########__init__###############
def __init__(self):
super().__init__()
# ########################本项目的实例化###################################
ui = UI() # 项目实例化
# 创建主窗口对象
mainWindow = MainWindow()
# 显示主窗口
mainWindow.show()
start_todo() # 系统初始化
signal_slot() # 信号和槽
app.aboutToQuit.connect(before_quit) # 退出系统之前的操作
sys.exit(app.exec())