123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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 = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
- <html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
- p, li { white-space: pre-wrap; }
- hr { height: 1px; border-width: 0; }
- li.unchecked::marker { content: "\2610"; }
- li.checked::marker { content: "\2612"; }
- </style></head><body style=" font-family:'Microsoft YaHei UI'; font-size:9pt; font-weight:400; font-style:normal;">
- <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; color:#000000;">"""+str2+"""--"""+str1+"""</span><span style=" font-size:14pt;">已知系统转换公式:</span></p>
- <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:700;">X</span><span style=" font-size:14pt;">=(</span><span style=" font-size:14pt; color:#aa0000;">"""+str(n1)+"""</span><span style=" font-size:14pt;">)</span><span style=" font-size:14pt; font-weight:700;">x</span><span style=" font-size:14pt;">+(</span><span style=" font-size:14pt; color:#00aa00;">"""+str(n2)+"""</span><span style=" font-size:14pt;">)</span><span style=" font-size:14pt; font-weight:700;">y</span><span style=" font-size:14pt;">+(</span><span style=" font-size:14pt; color:#00007f;">"""+str(n3)+"""</span><span style=" font-size:14pt;">)</span></p>
- <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:700;">Y</span><span style=" font-size:14pt;">=(</span><span style=" font-size:14pt; color:#aa0000;">"""+str(n4)+"""</span><span style=" font-size:14pt;">)</span><span style=" font-size:14pt; font-weight:700;">x</span><span style=" font-size:14pt;">+(</span><span style=" font-size:14pt; color:#00aa00;">"""+str(n5)+"""</span><span style=" font-size:14pt;">)</span><span style=" font-size:14pt; font-weight:700;">y</span><span style=" font-size:14pt;">+(</span><span style=" font-size:14pt; color:#00007f;">"""+str(n6)+"""</span><span style=" font-size:14pt;">)</span></p>
- <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt;">式中:</span><span style=" font-size:14pt; font-weight:700; color:#000000;">x、y</span><span style=" font-size:14pt;">为</span><span style=" font-size:14pt; color:#000000;">"""+str2+"""</span><span style=" font-size:14pt;">坐标;</span></p>
- <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt;"> </span><span style=" font-size:14pt; font-weight:700;">X、Y</span><span style=" font-size:14pt;">为"""+str1+"""已知系统的"""+str2+"""归算坐标。</span></p></body></html>"""
- ui.printTableView.setHtml(str0)
|