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) # 创建一个数据模型 model = QStandardItemModel() #把数据放进去 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() #富文本的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)