2025.2.25
今天正常上课,把多余的课退掉了,继续忙碌我机器人比赛的软件部分,增添了一个今日情况俯瞰图的界面,原本的情况展示界面去掉了,因为那样的查看情况或许不如直接查看整个田地俯瞰图来的快速,又因为各种原因,例如摄像头清晰度问题,机器人高度问题导致无法直接一次性拍摄出完整的俯瞰图,所以我决定将整片田地进行分开拍摄,并分别导入到程序上,通过图片在程序上的位置达到拼接展示,示例如下:

相关页面代码如下:
def setup_status_page(self): page = QtWidgets.QWidget() layout = QtWidgets.QVBoxLayout(page) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) grid_layout = QtWidgets.QGridLayout() grid_layout.setContentsMargins(0, 0, 0, 0) grid_layout.setSpacing(0) self.status_labels = [] self.import_buttons = [] # 定义每张图片的对齐方式 alignments = [ QtCore.Qt.AlignRight | QtCore.Qt.AlignBottom, # 图片1:右下 QtCore.Qt.AlignHCenter | QtCore.Qt.AlignBottom, # 图片2:下中 QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom, # 图片3:左下 QtCore.Qt.AlignRight | QtCore.Qt.AlignTop, # 图片4:右上 QtCore.Qt.AlignHCenter | QtCore.Qt.AlignTop, # 图片5:上中 QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop, # 图片6:左上 ] # 第一行:导入按钮 1-3 for i in range(3): btn = QtWidgets.QPushButton(f"导入照片 {i+1}") btn.setFixedSize(80, 30) btn.setStyleSheet("font-size: 12px;") btn.clicked.connect(lambda _, idx=i: self.import_status_image(idx)) self.import_buttons.append(btn) grid_layout.addWidget(btn, 0, i) # 第二行:图片框 1-3 for i in range(3): label = QtWidgets.QLabel() label.setFixedSize(390, 300) label.setStyleSheet(""" border: 1px solid #D3D3D3; background-color: white; """) label.setAlignment(alignments[i]) # 设置对齐方式 self.status_labels.append(label) grid_layout.addWidget(label, 1, i) # 第三行:图片框4-6 for i in range(3, 6): label = QtWidgets.QLabel() label.setFixedSize(390, 300) label.setStyleSheet(""" border: 1px solid #D3D3D3; background-color: white; """) label.setAlignment(alignments[i]) # 设置对齐方式 self.status_labels.append(label) grid_layout.addWidget(label, 2, i-3) # 第四行:导入按钮4-6 for i in range(3): btn = QtWidgets.QPushButton(f"导入照片 {i+4}") btn.setFixedSize(80, 30) btn.setStyleSheet("font-size: 12px;") btn.clicked.connect(lambda _, idx=i+3: self.import_status_image(idx)) self.import_buttons.append(btn) grid_layout.addWidget(btn, 3, i) layout.addLayout(grid_layout) self.stacked_pages.addWidget(page)
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号