from Back.Program_Run.data_show import * import sqlite3 from PySide6.QtGui import QStandardItemModel # 计算结束后的显示 def main_function(ui, db_path, utf_en): # 只显示头两个tab ui.tabWidget.setTabVisible(0, True) ui.tabWidget.setTabVisible(1, True) ui.tabWidget.setTabVisible(2, False) # 重新设置文字名称 ui.tabWidget.setTabText(0, '稳定性分析成果表') ui.tabWidget.setTabText(1, '自由网成果归算模型') # 链接数据库并显示 # 连接到数据库 # 将结果输出到数据库 db1 = sqlite3.connect(db_path) # 获取游标 cursor1 = db1.cursor() # 查询表内符合的所有数据 sqlstr1 = 'select PointName,First_X,First_Y,Last_X,Last_Y,Last_Wight,Result_X,Result_Y,New_Wight,New_FirstX,New_FirstY,New_FirstP,NFDis_Ass,New_LastX,New_LastY,New_LastP,NLDis_Ass from WD_Result_Point WHERE TableName = ?' cursor1.execute(sqlstr1, (utf_en,)) # 获取结果集 result = cursor1.fetchall() # 对结果集进行处理,把汉字转换过来,添加表头部分 nlist, plist = Arrange_Data(result) # 把数据放进去 model1 = Data_in_Cell(plist) # 设置表头 model1.setHorizontalHeaderLabels( ['点名', '首期X', '首期Y', '上期X', '上期Y', '权', '本期X', '本期Y', '权', '本期-首期X', '本期-首期Y', '本期-首期P', '位移判定', '本期-上期X', '本期-上期Y', '本期-上期P', '位移判定']) model1.setVerticalHeaderLabels(nlist) # QTableView并将数据模型与之关联 ui.resultTableView.setModel(model1) ui.resultTableView.show() # 隐藏 QLabel(默认提示语言) ui.default_remind.hide() # 富文本的html sqlstr2 = 'select Last_ResultName,New_ResultName,Formula_X1,Formula_X2,Formula_X3,Formula_Y1,Formula_Y2,Formula_Y3 from WD_Result_Param WHERE TableName = ?' cursor1.execute(sqlstr2, (utf_en,)) # 获取结果集 result1 = cursor1.fetchall() str1 = result1[0][0].decode('utf-8') str2 = result1[0][1].decode('utf-8') n1 = result1[0][2] n2 = result1[0][3] n3 = result1[0][4] n4 = result1[0][5] n5 = result1[0][6] n6 = result1[0][7] str0 = """

""" + str2 + """--""" + str1 + """已知系统转换公式:

X=(""" + str( n1) + """)x+(""" + str( n2) + """)y+(""" + str( n3) + """)

Y=(""" + str( n4) + """)x+(""" + str( n5) + """)y+(""" + str( n6) + """)

式中:x、y""" + str2 + """坐标;

X、Y为""" + str1 + """已知系统的""" + str2 + """归算坐标。

""" ui.printTableView.setHtml(str0) def search_show_function(ui, db_path, utf_en): # 只显示头两个tab ui.View.setTabVisible(0, True) ui.View.setTabVisible(1, True) ui.View.setTabVisible(2, True) ui.View.setTabVisible(3, False) # 重新设置文字名称 ui.View.setTabText(1, '自由网成果归算模型') ui.View.setTabText(2, '稳定性分析成果表') ui.View.setTabText(0, '输入数据') # 链接数据库并显示 # 连接到数据库 # 将结果输出到数据库 db1 = sqlite3.connect(db_path) # 获取游标 cursor1 = db1.cursor() # 查询表内符合的所有输入数据 sqlstr00 = 'select PointName,First_X,First_Y,Last_X,Last_Y,Wight,New_X,New_Y from WD_Input_Point WHERE TableName = ?' cursor1.execute(sqlstr00, (utf_en,)) # 获取结果集 result0 = cursor1.fetchall() # 参数部分 sqlstr10 = 'select First_ResultName,Last_ResultName,New_ResultName,Avg_SL,Ms_Dir,SL_Count,Dir_Count,Scale_Value from WD_Input_Param WHERE TableName = ?' cursor1.execute(sqlstr10, (utf_en,)) # 获取结果集 result1 = cursor1.fetchall() # 把结果集放进去,把汉字转换过来,添加表头部分 model0, nlist0 = WD_In_Data(result0, result1[0]) # 设置表头(先用统称吧,后期修改) model0.setHorizontalHeaderLabels( ['点名', '首期X', '首期Y', '上期X', '上期Y', '权', '本期X', '本期Y', '首期成果名', '上期成果名', '本期成果名', '平均边长', '方向值中误差', '总边数', '总方向数', '缩放值']) model0.setVerticalHeaderLabels(nlist0) # QTableView并将数据模型与之关联 ui.resultTableView1.setModel(model0) ui.resultTableView1.show() # 查询表内符合的所有数据 sqlstr1 = 'select PointName,First_X,First_Y,Last_X,Last_Y,Last_Wight,Result_X,Result_Y,New_Wight,New_FirstX,New_FirstY,New_FirstP,NFDis_Ass,New_LastX,New_LastY,New_LastP,NLDis_Ass from WD_Result_Point WHERE TableName = ?' cursor1.execute(sqlstr1, (utf_en,)) # 获取结果集 result = cursor1.fetchall() # 对结果集进行处理,把汉字转换过来,添加表头部分 nlist, plist = Arrange_Data(result) # 把数据放进去 model1 = Data_in_Cell(plist) # 设置表头 model1.setHorizontalHeaderLabels( ['点名', '首期X', '首期Y', '上期X', '上期Y', '权', '本期X', '本期Y', '权', '本期-首期X', '本期-首期Y', '本期-首期P', '位移判定', '本期-上期X', '本期-上期Y', '本期-上期P', '位移判定']) model1.setVerticalHeaderLabels(nlist) # QTableView并将数据模型与之关联 ui.reconTableView1.setModel(model1) ui.reconTableView1.show() # 隐藏 QLabel(默认提示语言) ui.default_remind1.hide() # 富文本的html sqlstr2 = 'select Last_ResultName,New_ResultName,Formula_X1,Formula_X2,Formula_X3,Formula_Y1,Formula_Y2,Formula_Y3 from WD_Result_Param WHERE TableName = ?' cursor1.execute(sqlstr2, (utf_en,)) # 获取结果集 result2 = cursor1.fetchall() str1 = result2[0][0].decode('utf-8') str2 = result2[0][1].decode('utf-8') n1 = result2[0][2] n2 = result2[0][3] n3 = result2[0][4] n4 = result2[0][5] n5 = result2[0][6] n6 = result2[0][7] str0 = """

""" + str2 + """--""" + str1 + """已知系统转换公式:

X=(""" + str( n1) + """)x+(""" + str( n2) + """)y+(""" + str( n3) + """)

Y=(""" + str( n4) + """)x+(""" + str( n5) + """)y+(""" + str( n6) + """)

式中:x、y""" + str2 + """坐标;

X、Y为""" + str1 + """已知系统的""" + str2 + """归算坐标。

""" ui.printTableView1.setHtml(str0)