import sys from ATE1 import Ui_MainWindow from PyQt5.QtWidgets import QMainWindow, QApplication,QMessageBox,QTableWidget,QTableWidgetItem,QAbstractItemView from PyQt5 import QtCore import pandas as pd class Main(QMainWindow,Ui_MainWindow): def __init__(self,parent=None): QMainWindow.__init__(self, parent) self.setupUi(self) self.table=QTableWidget() self.table.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.SelectedClicked) self.pushButton_2.clicked.connect(self.cali) self.pushButton.clicked.connect(self.test) ins="2023/6/8 10:48 测试步骤:12: S21LOW-ANT_Passband Ripple11053-11103MHz: PASS" QApplication.processEvents() # 动态添加 self.textEdit.append(ins) def cali(self): self.table.setColumnCount(6) self.setCentralWidget(self.table) # 读取 excel 文件 df=pd.read_excel('C:\\Users\\FangYingge\\Desktop\\FP510D206_高温.xls', header=0, skiprows=1, usecols=[0, 1, 5, 6]) header=['步骤', '名称', '上限', '下限', '频率(MHz)', '状态'] self.table.setHorizontalHeaderLabels(header) for i in range(df.shape[0]): self.table.insertRow(i) self.table.setItem(i, 0, QTableWidgetItem(str(df.iloc[i, 0]))) self.table.setItem(i, 1, QTableWidgetItem(str(df.iloc[i, 1]))) self.table.setItem(i, 2, QTableWidgetItem(str(df.iloc[i, 2]))) self.table.setItem(i, 3, QTableWidgetItem(str(df.iloc[i, 3]))) self.setCentralWidget(self.table) def test(self): pass if __name__=="__main__": QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) app=QApplication(sys.argv) windows=Main() windows.show() sys.exit(app.exec_())帮我检测下这段代码,为什么数据没有添加到from ATE1 import Ui_MainWindow的界面的QTableWidget中
时间: 2024-03-29 12:40:36 浏览: 174
你的代码中创建了一个新的QTableWidget,但是没有将其添加到Ui_MainWindow中,因此数据没有添加到Ui_MainWindow的界面中的QTableWidget中。你需要将新创建的QTableWidget添加到Ui_MainWindow中,可以使用self.layout.addWidget()方法将其添加到界面中。另外,你可以将数据读取代码放在函数外部,这样可以避免每次点击按钮都要重新读取数据的问题。
相关问题
ORB_SLAM3_ate.rmse,scale,GT_ate.rmse
这三个指标都是用来评估 SLAM(Simultaneous Localization and Mapping)算法的精度的。
- ORB_SLAM3_ate.rmse:是 ORB-SLAM3 算法的 ATE(Absolute Trajectory Error,绝对轨迹误差)的 RMSE(Root Mean Square Error,均方根误差)。它是评估 SLAM 算法在整个轨迹上的定位精度的指标,计算方式为平均每个时刻的估计位姿与真实位姿的欧式距离的平方再开根号。ATE 的计算方式是以首帧为参考,计算每个时刻的相对位姿误差,然后累加得到绝对轨迹误差。
- scale:是指 SLAM 算法中得到的轨迹与真实轨迹之间的尺度比例。因为相机的尺度是未知的,所以 SLAM 算法得到的轨迹可能与真实轨迹相比存在一个尺度上的偏差,scale 就是用来衡量这个偏差的指标。具体来说,它是真实轨迹长度与 SLAM 算法得到的轨迹长度之比。
- GT_ate.rmse:是真实轨迹与估计轨迹之间的 ATE 的 RMSE。它是用来评估 SLAM 算法在整个轨迹上的定位精度,并与 ORB_SLAM3_ate.rmse 进行对比的指标。计算方式与 ORB_SLAM3_ate.rmse 相同,只不过是用真实轨迹代替了估计轨迹。
ORB_SLAM3_ate.rmse,scale,GT_ate.rmse的值越大性能越好吗
非常抱歉,ORB_SLAM3_ate.rmse和GT_ate.rmse的值越小越好,因为它们反映了ORB_SLAM3算法在相机轨迹重建和位姿估计方面的准确度,而准确度越高则意味着算法性能越好。至于scale,若是指相机的尺度,通常情况下需要根据具体应用场景进行调整,不是越大越好或越小越好的问题,而是要求与实际尺度相匹配。
阅读全文