dataCreatingGUI/bin/GUIWindows.py

108 lines
2.4 KiB
Python

# -*- coding:utf-8 -*-
import sys
import fileDataCreating
from pathlib import Path
from PySide6.QtUiTools import loadUiType
from PySide6.QtCore import Slot,Signal,QThread,QMutex,QWaitCondition,QMutexLocker
# 定义公共路径
path = Path(__file__)
ui_file_patch = path.parent.parent / "ui" / "ui_main.ui"
# 从文件中加载UI定义
formType, baseType = loadUiType(str(ui_file_patch))
class MyThread(QThread):
def __init__(self, parent=None):
super().__init__(parent=parent)
def run(self):
fileDataCreating.main()
class Window(formType, baseType):
def __init__(self):
super(Window, self).__init__()
self.setupUi(self)
self.setup_thread()
# 输出设置
self.Log_Output.document().setMaximumBlockCount(100)
self.Log_Output.ensureCursorVisible()
@Slot() #声明槽函数
def start(self):
self.Log_Output.append('点击了开始按钮')
# 输入框参数校验
num = self.tabWidget.currentIndex()
if num == 0:
self.check_file_input()
else:
self.conntest()
# 开始运行
if num == 0:
self.start_thread()
else:
self.start_run_db()
@Slot()
def stop(self):
self.Log_Output.append('点击了停止按钮')
num = self.tabWidget.currentIndex()
if num == 0:
self.stop_run_file()
else:
self.stop_run_db()
@Slot()
def conntest(self):
self.Log_Output.append('点击了测试连接按钮')
self.check_db_input()
# TODO(MH):校验连接信息
self.Log_Output.append('数据库连接成功')
def setup_thread(self):
self.thread = MyThread()
self.thread_running = True
def start_thread(self):
if self.thread_running:
self.thread.start()
def check_file_input(self):
self.Log_Output.append('文件参数校验通过')
def check_db_input(self):
self.Log_Output.append('数据库参数校验通过,开始连接数据库测试。。。')
def start_run_file(self):
# 调用文件处理脚本
self.Log_Output.append('开始生成文件。。。')
def start_run_db(self):
pass
def stop_run_file(self):
# 终止线程的事件循环
self.thread.quit()
def stop_run_db(self):
pass