Przeglądaj źródła

修复了打包后exe文件中最后一个页面无法显示的bug(数据库路径还需要更改)

wzp 5 miesięcy temu
rodzic
commit
ee42411bd7
1 zmienionych plików z 14 dodań i 8 usunięć
  1. 14
    8
      Front/main.py

+ 14
- 8
Front/main.py Wyświetl plik

36
 from Front.modules import Settings
36
 from Front.modules import Settings
37
 from Front.widgets import *
37
 from Front.widgets import *
38
 
38
 
39
+def resource_path(relative_path):
40
+    """ Get the absolute path to the resource, works for dev and for cx_Freeze """
41
+    try:
42
+        # cx_Freeze creates a temp folder and stores path in _MEIPASS
43
+        base_path = sys._MEIPASS
44
+    except Exception:
45
+        base_path = os.path.abspath(".")
46
+
47
+    return os.path.join(base_path, relative_path)
48
+
39
 # IMPORT / GUI AND MODULES AND WIDGETS
49
 # IMPORT / GUI AND MODULES AND WIDGETS
40
 # ///////////////////////////////////////////////////////////////
50
 # ///////////////////////////////////////////////////////////////
41
 # 将项目根目录添加到 sys.path
51
 # 将项目根目录添加到 sys.path
787
         # 清空 dblist 以确保每次初始化时都是空的
797
         # 清空 dblist 以确保每次初始化时都是空的
788
         self.dblist = []
798
         self.dblist = []
789
         # 初始化全部数据库
799
         # 初始化全部数据库
790
-        # inpath = r'D:\4work_now\20240819GS\20241211\SQL'
791
-        inpath = os.path.abspath('../SQL')
800
+        inpath = resource_path('SQL')
792
         # 读取所有的数据库名
801
         # 读取所有的数据库名
793
         sqlitem = []
802
         sqlitem = []
794
         id = 1
803
         id = 1
1105
         # 获取应用的安装目录
1114
         # 获取应用的安装目录
1106
         app_install_dir = os.getcwd()
1115
         app_install_dir = os.getcwd()
1107
         # 构建数据库路径
1116
         # 构建数据库路径
1108
-        db_path = os.path.join(app_install_dir, '..', 'SQL', 'DataBase.db')
1109
-        db_path = os.path.abspath(db_path)
1117
+        db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
1110
         file_name = "平面控制网稳定性计算示例表.xlsx"
1118
         file_name = "平面控制网稳定性计算示例表.xlsx"
1111
         excelname_utf8 = file_name.encode('utf-8')
1119
         excelname_utf8 = file_name.encode('utf-8')
1112
         Back.WD.WDExport.main_function_example(self, db_path, excelname_utf8)
1120
         Back.WD.WDExport.main_function_example(self, db_path, excelname_utf8)
1115
         # 获取应用的安装目录
1123
         # 获取应用的安装目录
1116
         app_install_dir = os.getcwd()
1124
         app_install_dir = os.getcwd()
1117
         # 构建数据库路径
1125
         # 构建数据库路径
1118
-        db_path = os.path.join(app_install_dir, '..', 'SQL', 'DataBase.db')
1119
-        db_path = os.path.abspath(db_path)
1126
+        db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
1120
         file_name = "控制网复测平面基准计算示例表.xlsx"
1127
         file_name = "控制网复测平面基准计算示例表.xlsx"
1121
         excelname_utf8 = file_name.encode('utf-8')
1128
         excelname_utf8 = file_name.encode('utf-8')
1122
         Back.GS.GSExport.main_function_example(self, db_path, excelname_utf8)
1129
         Back.GS.GSExport.main_function_example(self, db_path, excelname_utf8)
1125
         # 获取应用的安装目录
1132
         # 获取应用的安装目录
1126
         app_install_dir = os.getcwd()
1133
         app_install_dir = os.getcwd()
1127
         # 构建数据库路径
1134
         # 构建数据库路径
1128
-        db_path = os.path.join(app_install_dir, '..', 'SQL', 'DataBase.db')
1129
-        db_path = os.path.abspath(db_path)
1135
+        db_path = resource_path(os.path.join('SQL', 'DataBase.db'))
1130
         file_name = "水准测段高差稳定计算示例文件.xlsx"
1136
         file_name = "水准测段高差稳定计算示例文件.xlsx"
1131
         utf_en = file_name.encode('utf-8')
1137
         utf_en = file_name.encode('utf-8')
1132
         # 调用main_function_example函数
1138
         # 调用main_function_example函数

Ładowanie…
Anuluj
Zapisz