|
|
@@ -39,6 +39,7 @@ from Front.widgets import *
|
|
39
|
39
|
# main.py
|
|
40
|
40
|
from Front.back.Program_Run.utils import resource_path # 从 utils.py 导入 resource_path
|
|
41
|
41
|
import gc
|
|
|
42
|
+from pathlib import Path
|
|
42
|
43
|
|
|
43
|
44
|
# IMPORT / GUI AND MODULES AND WIDGETS
|
|
44
|
45
|
# ///////////////////////////////////////////////////////////////
|
|
|
@@ -371,6 +372,19 @@ class ElTree(QWidget):
|
|
371
|
372
|
QMessageBox.critical(self, '错误', f'删除数据时出错: {str(e)}')
|
|
372
|
373
|
|
|
373
|
374
|
def export_item(self):
|
|
|
375
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
376
|
+ self, # 父窗口
|
|
|
377
|
+ "保存文件", # 对话框标题
|
|
|
378
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
379
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
380
|
+ )
|
|
|
381
|
+ if ok and file_path:
|
|
|
382
|
+ # 将路径转换为 Path 对象
|
|
|
383
|
+ path = Path(file_path)
|
|
|
384
|
+ # 提取文件夹名
|
|
|
385
|
+ folder_name = path.parent
|
|
|
386
|
+ # 提取文件名
|
|
|
387
|
+ file_name = path.name
|
|
374
|
388
|
# 获取当前选中的项目
|
|
375
|
389
|
selected_items = widgets.allTreeWidget.selectedItems()
|
|
376
|
390
|
if not selected_items:
|
|
|
@@ -399,14 +413,14 @@ class ElTree(QWidget):
|
|
399
|
413
|
|
|
400
|
414
|
# 根据父节点名称确定导出操作
|
|
401
|
415
|
if parent_name == '水准测段高差稳定计算':
|
|
402
|
|
- GCExport.main_function_initial(self, tablename_utf8, dbpath)
|
|
403
|
|
- GCExport.main_function_result(self, tablename_utf8, dbpath)
|
|
|
416
|
+ GCExport.main_function_initial(self, tablename_utf8, dbpath,folder_name,file_name)
|
|
|
417
|
+ GCExport.main_function_result(self, tablename_utf8, dbpath,folder_name,file_name)
|
|
404
|
418
|
elif parent_name == '控制网复测平面基准计算':
|
|
405
|
|
- GSExport.main_function(self, dbpath, tablename)
|
|
406
|
|
- GSExport.main_function_initial(self, dbpath, tablename_utf8)
|
|
|
419
|
+ GSExport.main_function(self, dbpath, tablename,folder_name,file_name)
|
|
|
420
|
+ GSExport.main_function_initial(self, dbpath, tablename_utf8,folder_name,file_name)
|
|
407
|
421
|
elif parent_name == '平面控制网稳定性计算':
|
|
408
|
|
- WDExport.main_function(self, dbpath, tablename)
|
|
409
|
|
- WDExport.main_function_initial(self, dbpath, tablename_utf8)
|
|
|
422
|
+ WDExport.main_function(self, dbpath, tablename,folder_name,file_name)
|
|
|
423
|
+ WDExport.main_function_initial(self, dbpath, tablename_utf8,folder_name,file_name)
|
|
410
|
424
|
else:
|
|
411
|
425
|
QMessageBox.warning(self, '警告', '未知的父节点')
|
|
412
|
426
|
return
|
|
|
@@ -639,6 +653,20 @@ class ElTree1(QWidget):
|
|
639
|
653
|
QMessageBox.critical(self, '错误', f'删除数据时出错: {str(e)}')
|
|
640
|
654
|
|
|
641
|
655
|
def export_item(self):
|
|
|
656
|
+ #对话框
|
|
|
657
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
658
|
+ self, # 父窗口
|
|
|
659
|
+ "保存文件", # 对话框标题
|
|
|
660
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
661
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
662
|
+ )
|
|
|
663
|
+ if ok and file_path:
|
|
|
664
|
+ # 将路径转换为 Path 对象
|
|
|
665
|
+ path = Path(file_path)
|
|
|
666
|
+ # 提取文件夹名
|
|
|
667
|
+ folder_name = path.parent
|
|
|
668
|
+ # 提取文件名
|
|
|
669
|
+ file_name = path.name
|
|
642
|
670
|
# 获取当前选中的项目
|
|
643
|
671
|
selected_items = widgets.qureyTreeWidget.selectedItems()
|
|
644
|
672
|
if not selected_items:
|
|
|
@@ -667,14 +695,14 @@ class ElTree1(QWidget):
|
|
667
|
695
|
|
|
668
|
696
|
# 根据父节点名称确定导出操作
|
|
669
|
697
|
if parent_name == '水准测段高差稳定计算':
|
|
670
|
|
- GCExport.main_function_initial(self, tablename_utf8, dbpath) # 导出初始文件
|
|
671
|
|
- GCExport.main_function_result(self, tablename_utf8, dbpath) # 导出结果文件
|
|
|
698
|
+ GCExport.main_function_initial(self, tablename_utf8, dbpath,folder_name,file_name) # 导出初始文件
|
|
|
699
|
+ GCExport.main_function_result(self, tablename_utf8, dbpath,folder_name,file_name) # 导出结果文件
|
|
672
|
700
|
elif parent_name == '控制网复测平面基准计算':
|
|
673
|
|
- GSExport.main_function(self, dbpath, tablename) # 导出结果文件
|
|
674
|
|
- GSExport.main_function_initial(self, dbpath, tablename_utf8) # 导出初始文件
|
|
|
701
|
+ GSExport.main_function(self, dbpath, tablename,folder_name,file_name) # 导出结果文件
|
|
|
702
|
+ GSExport.main_function_initial(self, dbpath, tablename_utf8,folder_name,file_name) # 导出初始文件
|
|
675
|
703
|
elif parent_name == '平面控制网稳定性计算':
|
|
676
|
|
- WDExport.main_function(self, dbpath, tablename) # 导出结果文件
|
|
677
|
|
- WDExport.main_function_initial(self, dbpath, tablename_utf8) # 导出初始文件
|
|
|
704
|
+ WDExport.main_function(self, dbpath, tablename,folder_name,file_name) # 导出结果文件
|
|
|
705
|
+ WDExport.main_function_initial(self, dbpath, tablename_utf8,folder_name,file_name) # 导出初始文件
|
|
678
|
706
|
else:
|
|
679
|
707
|
QMessageBox.warning(self, '警告', '未知的父节点')
|
|
680
|
708
|
return
|
|
|
@@ -968,10 +996,31 @@ class MainWindow(QMainWindow):
|
|
968
|
996
|
|
|
969
|
997
|
# 定义导出数据库的槽函数
|
|
970
|
998
|
def on_export_2_clicked(self):
|
|
971
|
|
- if self.file_path:
|
|
972
|
|
- UIFunctions.export_database_to_excel(self, self.file_path)
|
|
|
999
|
+ #不清楚位置的按钮(?)
|
|
|
1000
|
+ #方法还是那个方法
|
|
|
1001
|
+ # 弹出输入对话框,让用户输入文件名
|
|
|
1002
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
1003
|
+ self, # 父窗口
|
|
|
1004
|
+ "保存文件", # 对话框标题
|
|
|
1005
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
1006
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
1007
|
+ )
|
|
|
1008
|
+ if ok and file_path:
|
|
|
1009
|
+ # 将路径转换为 Path 对象
|
|
|
1010
|
+ path = Path(file_path)
|
|
|
1011
|
+ # 提取文件夹名
|
|
|
1012
|
+ folder_name = path.parent
|
|
|
1013
|
+ # 提取文件名
|
|
|
1014
|
+ file_name = path.name
|
|
|
1015
|
+ # 在这里处理文件保存逻辑
|
|
|
1016
|
+ if self.file_path:
|
|
|
1017
|
+ UIFunctions.export_database_to_excel(self, self.file_path, folder_name, file_name)
|
|
|
1018
|
+ QMessageBox.information(self, "保存成功", f"文件将保存到: {file_name}")
|
|
|
1019
|
+ else:
|
|
|
1020
|
+ QMessageBox.warning(self, '警告', '请先选择项目并上传文件')
|
|
973
|
1021
|
else:
|
|
974
|
|
- QMessageBox.warning(self, '警告', '请先选择项目并上传文件')
|
|
|
1022
|
+ QMessageBox.warning(self, "取消", "用户取消了保存操作")
|
|
|
1023
|
+
|
|
975
|
1024
|
|
|
976
|
1025
|
# RESIZE EVENTS
|
|
977
|
1026
|
# ///////////////////////////////////////////////////////////////
|
|
|
@@ -1358,7 +1407,25 @@ class MainWindow(QMainWindow):
|
|
1358
|
1407
|
db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
|
|
1359
|
1408
|
file_name = "平面控制网稳定性计算示例表.xlsx"
|
|
1360
|
1409
|
excelname_utf8 = file_name.encode('utf-8')
|
|
1361
|
|
- Back.WD.WDExport.main_function_example(self, db_path, excelname_utf8)
|
|
|
1410
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
1411
|
+ self, # 父窗口
|
|
|
1412
|
+ "保存文件", # 对话框标题
|
|
|
1413
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
1414
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
1415
|
+ )
|
|
|
1416
|
+ if ok and file_path:
|
|
|
1417
|
+ # 将路径转换为 Path 对象
|
|
|
1418
|
+ path = Path(file_path)
|
|
|
1419
|
+ # 提取文件夹名
|
|
|
1420
|
+ folder_name = path.parent
|
|
|
1421
|
+ # 提取文件名
|
|
|
1422
|
+ file_name = path.name
|
|
|
1423
|
+ # 在这里处理文件保存逻辑
|
|
|
1424
|
+ Back.WD.WDExport.main_function_example(self, db_path, excelname_utf8,folder_name,file_name)
|
|
|
1425
|
+ QMessageBox.information(self, "保存成功", f"文件将保存到: {file_name}")
|
|
|
1426
|
+ else:
|
|
|
1427
|
+ QMessageBox.warning(self, "取消", "用户取消了保存操作")
|
|
|
1428
|
+
|
|
1362
|
1429
|
|
|
1363
|
1430
|
def on_download_2_clicked(self):
|
|
1364
|
1431
|
# 获取应用的安装目录
|
|
|
@@ -1367,7 +1434,25 @@ class MainWindow(QMainWindow):
|
|
1367
|
1434
|
db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
|
|
1368
|
1435
|
file_name = "控制网复测平面基准计算示例表.xlsx"
|
|
1369
|
1436
|
excelname_utf8 = file_name.encode('utf-8')
|
|
1370
|
|
- Back.GS.GSExport.main_function_example(self, db_path, excelname_utf8)
|
|
|
1437
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
1438
|
+ self, # 父窗口
|
|
|
1439
|
+ "保存文件", # 对话框标题
|
|
|
1440
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
1441
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
1442
|
+ )
|
|
|
1443
|
+ if ok and file_path:
|
|
|
1444
|
+ # 将路径转换为 Path 对象
|
|
|
1445
|
+ path = Path(file_path)
|
|
|
1446
|
+ # 提取文件夹名
|
|
|
1447
|
+ folder_name = path.parent
|
|
|
1448
|
+ # 提取文件名
|
|
|
1449
|
+ file_name = path.name
|
|
|
1450
|
+ # 在这里处理文件保存逻辑
|
|
|
1451
|
+ Back.GS.GSExport.main_function_example(self, db_path, excelname_utf8,folder_name,file_name)
|
|
|
1452
|
+ QMessageBox.information(self, "保存成功", f"文件将保存到: {file_name}")
|
|
|
1453
|
+ else:
|
|
|
1454
|
+ QMessageBox.warning(self, "取消", "用户取消了保存操作")
|
|
|
1455
|
+
|
|
1371
|
1456
|
|
|
1372
|
1457
|
def on_download_3_clicked(self):
|
|
1373
|
1458
|
# 获取应用的安装目录
|
|
|
@@ -1376,8 +1461,26 @@ class MainWindow(QMainWindow):
|
|
1376
|
1461
|
db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
|
|
1377
|
1462
|
file_name = "水准测段高差稳定计算示例文件.xlsx"
|
|
1378
|
1463
|
utf_en = file_name.encode('utf-8')
|
|
|
1464
|
+ file_path, ok = QFileDialog.getSaveFileName(
|
|
|
1465
|
+ self, # 父窗口
|
|
|
1466
|
+ "保存文件", # 对话框标题
|
|
|
1467
|
+ "", # 默认路径(刚才选择的文件夹)
|
|
|
1468
|
+ "表格xlsx文件 (*.xlsx);;表格xls文件 (*.xls)", # 文件过滤器
|
|
|
1469
|
+ )
|
|
|
1470
|
+ if ok and file_path:
|
|
|
1471
|
+ # 将路径转换为 Path 对象
|
|
|
1472
|
+ path = Path(file_path)
|
|
|
1473
|
+ # 提取文件夹名
|
|
|
1474
|
+ folder_name = path.parent
|
|
|
1475
|
+ # 提取文件名
|
|
|
1476
|
+ file_name = path.name
|
|
|
1477
|
+ # 在这里处理文件保存逻辑
|
|
|
1478
|
+ Back.GC.GCExport.main_function_example(self, utf_en, db_path,folder_name,file_name)
|
|
|
1479
|
+ QMessageBox.information(self, "保存成功", f"文件将保存到: {file_name}")
|
|
|
1480
|
+ else:
|
|
|
1481
|
+ QMessageBox.warning(self, "取消", "用户取消了保存操作")
|
|
1379
|
1482
|
# 调用main_function_example函数
|
|
1380
|
|
- Back.GC.GCExport.main_function_example(self, utf_en, db_path)
|
|
|
1483
|
+
|
|
1381
|
1484
|
|
|
1382
|
1485
|
|
|
1383
|
1486
|
def main():
|