自己先设计UI界面,我将opencv画的图放到Qlabel中
差不多就这个意思。
弄了一个定时器实现循环
i = 0
i = self.plot()
# 循环画图
self.timer = QTimer(self)
self.timer.start(10)
# i = self.plot()
self.timer.timeout.connect(self.plot)
画图代码, 画图函数是用的其他人的,链接
def plot(self):
self.ui.label_radar.clear()
cv2.destroyAllWindows()
# 生成一个700*700的空灰度图像
canvas = np.zeros((700, 700, 3), np.uint8)
point_size = 5
white = (255, 255, 255)
green = (0, 255, 0)
blue = (0, 0, 255)
red = (255, 0, 0)
yellow = (0, 255, 255)
# 绘制雷达显示器界面的同心圆
cv.circle(canvas, (350, 350), 100, green, 2)
cv.circle(canvas, (350, 350), 200, green, 2)
cv.circle(canvas, (350, 350), 300, green, 2)
# 绘制十字线
cv.line(canvas, (50, 350), (650, 350), green, 2)
cv.line(canvas, (350, 50), (350, 650), green, 2)
start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))
end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))
# 绘制斜线
cv.line(canvas, start_point, end_point, white, 1)
start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))
end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))
cv.line(canvas, start_point, end_point, white, 1)
# 添加正北指向和距离刻度文字
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(canvas, "0", (340, 40), font, 1, (255, 255, 255), 1)
cv.putText(canvas, "1.2", (5, 360), font, 1, (255, 255, 255), 1)
cv.putText(canvas, "1.2", (650, 360), font, 1, (255, 255, 255), 1)
# 定义绘制扫描辉亮函数,ang为扫描线所在角度位置
def drawScanner(ang):
img = np.zeros((700, 700, 3), np.uint8)
a = 255 / 60 # 将颜色值255等分60,60为辉亮夹角
for i in range(60):
# 逐次绘制1度扇形,颜色从255到0
cv.ellipse(img, (350, 350), (300, 300), 1, ang - i, ang - i - 1,
(255 - i * a, 255 - i * a, 255 - i * a), -1)
return img
# 方位角度a,距离b
a = math.pi * 3 / 4
b = 400
# 判断目标点的位置
# 方位角大于0小于90°
if math.pi/2 > a >=0 :
pointStartX = int(350+b/4)
pointStartY = int(350 - b*math.tan(a)/4)
# 方位角大于90°小于180°
elif math.pi> a >=math.pi/2:
pointStartX = int(350-b/4)
pointStartY = int(350 - b*math.tan(a - math.pi/2)/4)
# 方位角大于180°小于270°
elif math.pi*3/2 > a >=math.pi:
pointStartX = int(350 - b/4)
pointStartY = int(350 + b*math.tan(a - math.pi)/4)
# 方位角大于270°小于360°
else:
pointStartX = int(350 + b/4)
pointStartY = int(350 + b*math.tan(math.pi*2 - a))
temp = np.copy(canvas)
cv.circle(temp, (pointStartX, pointStartY), point_size, red, 6) # 目标点
scanImg = drawScanner(self.j) # 绘制扫描辉亮
blend = cv.addWeighted(temp, 1.0, scanImg, 0.6, 0.0) # 将雷达显示与扫描辉亮混合
_image = QtGui.QImage(blend[:], blend.shape[1], blend.shape[0], blend.shape[1] * 3,
QtGui.QImage.Format_RGB888) # pyqt5转换成自己能放的图片格式
jpg_out = QtGui.QPixmap(_image).scaled(self.ui.label_radar.width(), self.ui.label_radar.height()) # 设置图片大小
self.ui.label_radar.setPixmap(jpg_out)
self.j += 1
print(self.j)
return self.j
解释下 self.j ,是用来循环的,每次数据加1实现循环
要在主函数中写入,不然会报属性错误。
self.j = 0
主程序
import math
import random
import cv2
import cv2 as cv
import matplotlib.pyplot as plt
from PyQt5 import QtCore, QtGui,QtWidgets
from PyQt5.QtCore import QTimer
from PyQt5.QtGui import QMovie, QPixmap
from PyQt5.QtWidgets import *
from matplotlib.backends.backend_template import FigureCanvas
from matplotlib.figure import Figure
from PyQt5.QtWidgets import QWidget
from main_ui1 import Ui_MainWindow
import threading
from control import Control
import numpy as np
import matplotlib
matplotlib.use(('Qt5Agg'))
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import matplotlib.image as img
import matplotlib as mpl
import sys
class MainWindow(QMainWindow,QWidget):
def __init__(self):
self.j = 0
super(MainWindow,self).__init__()
# 使用ui文件导入定义界面类
self.ui = Ui_MainWindow()
# 初始化界面
self.ui.setupUi(self)
# 所有按键与其函数绑定!!!
self.ui.btn_left.clicked.connect(Control.left)
self.ui.btn_right.clicked.connect(Control.right)
self.ui.btn_down.clicked.connect(Control.down)
self.ui.btn_up.clicked.connect(Control.up)
self.ui.btn_stop.clicked.connect(Control.stop)
self.ui.btn_open_wiper.clicked.connect(Control.open_wiper)
self.ui.btn_close_wiper.clicked.connect(Control.close_wiper)
self.ui.btn_open_fill.clicked.connect(Control.open_fill)
self.ui.btn_close_fill.clicked.connect(Control.close_fill)
self.ui.btn_open_light.clicked.connect(self.btn_open_light)
self.ui.btn_close_light.clicked.connect(self.btn_close_light)
self.ui.btn_open_red.clicked.connect(self.btn_open_red)
self.ui.btn_close_red.clicked.connect(self.btn_close_red)
# 定义标志位,通过标志位的改变来确定是否跳出循环
self.stopEvent1 = threading.Event() # event对象维护一个内部标志(标志初始值为False),通过set()将其置为True。isSet()用于查询标志位是否为True,Clear()则用于清除标志位(使之为False)。
self.stopEvent1.clear() # Event设置为False
self.stopEvent2 = threading.Event()
self.stopEvent2.clear()
self.F = Myfigure(width=12,height=13,dpi=100)
i = 0
i = self.plot()
# 循环画图
self.timer = QTimer(self)
self.timer.start(10)
self.timer.timeout.connect(self.plot)
def plot(self):
self.ui.label_radar.clear()
cv2.destroyAllWindows()
# 生成一个700*700的空灰度图像
canvas = np.zeros((700, 700, 3), np.uint8)
point_size = 5
white = (255, 255, 255)
green = (0, 255, 0)
blue = (0, 0, 255)
red = (255, 0, 0)
yellow = (0, 255, 255)
# 绘制雷达显示器界面的同心圆
cv.circle(canvas, (350, 350), 100, green, 2)
cv.circle(canvas, (350, 350), 200, green, 2)
cv.circle(canvas, (350, 350), 300, green, 2)
# 绘制十字线
cv.line(canvas, (50, 350), (650, 350), green, 2)
cv.line(canvas, (350, 50), (350, 650), green, 2)
start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))
end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))
# 绘制斜线
cv.line(canvas, start_point, end_point, white, 1)
start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))
end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))
cv.line(canvas, start_point, end_point, white, 1)
# 添加正北指向和距离刻度文字
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(canvas, "0", (340, 40), font, 1, (255, 255, 255), 1)
cv.putText(canvas, "1.2", (5, 360), font, 1, (255, 255, 255), 1)
cv.putText(canvas, "1.2", (650, 360), font, 1, (255, 255, 255), 1)
# 定义绘制扫描辉亮函数,ang为扫描线所在角度位置
def drawScanner(ang):
img = np.zeros((700, 700, 3), np.uint8)
a = 255 / 60 # 将颜色值255等分60,60为辉亮夹角
for i in range(60):
# 逐次绘制1度扇形,颜色从255到0
cv.ellipse(img, (350, 350), (300, 300), 1, ang - i, ang - i - 1,
(255 - i * a, 255 - i * a, 255 - i * a), -1)
return img
# 方位角度a,距离b
a = math.pi * 3 / 4
b = 400
# 判断目标点的位置
# 方位角大于0小于90°
if math.pi/2 > a >=0 :
pointStartX = int(350+b/4)
pointStartY = int(350 - b*math.tan(a)/4)
# 方位角大于90°小于180°
elif math.pi> a >=math.pi/2:
pointStartX = int(350-b/4)
pointStartY = int(350 - b*math.tan(a - math.pi/2)/4)
# 方位角大于180°小于270°
elif math.pi*3/2 > a >=math.pi:
pointStartX = int(350 - b/4)
pointStartY = int(350 + b*math.tan(a - math.pi)/4)
# 方位角大于270°小于360°
else:
pointStartX = int(350 + b/4)
pointStartY = int(350 + b*math.tan(math.pi*2 - a))
temp = np.copy(canvas)
cv.circle(temp, (pointStartX, pointStartY), point_size, red, 6) # 目标点
scanImg = drawScanner(self.j) # 绘制扫描辉亮
blend = cv.addWeighted(temp, 1.0, scanImg, 0.6, 0.0) # 将雷达显示与扫描辉亮混合
_image = QtGui.QImage(blend[:], blend.shape[1], blend.shape[0], blend.shape[1] * 3,
QtGui.QImage.Format_RGB888) # pyqt5转换成自己能放的图片格式
jpg_out = QtGui.QPixmap(_image).scaled(self.ui.label_radar.width(), self.ui.label_radar.height()) # 设置图片大小
self.ui.label_radar.setPixmap(jpg_out)
self.j += 1
print(self.j)
return self.j
def plotTimer(self):
self.timer.start(1000)
if __name__ == '__main__':
app = QApplication([])
mainw = MainWindow()
mainw.show()
mainw.ui.btn_open_light.setEnabled(False)
mainw.ui.btn_open_red.setEnabled(False)
th1 = threading.Thread(target=mainw.Display_light)
th2 = threading.Thread(target=mainw.Display_red)
th1.start()
th2.start()
th3 = threading.Thread(target=mainw.plot)
th3.start()
sys.exit(app.exec_())
main_ui程序
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'main_ui.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1680, 941)
MainWindow.setMinimumSize(QtCore.QSize(1680, 941))
MainWindow.setMaximumSize(QtCore.QSize(1680, 941))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 1680, 935))
self.tabWidget.setStyleSheet("")
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.label_back = QtWidgets.QLabel(self.tab)
self.label_back.setGeometry(QtCore.QRect(0, 0, 1680, 901))
self.label_back.setStyleSheet("border-image: url(:/icon/001.jpg);")
self.label_back.setText("")
self.label_back.setObjectName("label_back")
self.label_light = QtWidgets.QLabel(self.tab)
self.label_light.setGeometry(QtCore.QRect(1150, 160, 420, 315))
self.label_light.setMinimumSize(QtCore.QSize(420, 315))
self.label_light.setMaximumSize(QtCore.QSize(420, 315))
self.label_light.setStyleSheet("")
self.label_light.setText("")
self.label_light.setObjectName("label_light")
self.label_red = QtWidgets.QLabel(self.tab)
self.label_red.setGeometry(QtCore.QRect(1150, 550, 420, 315))
self.label_red.setMinimumSize(QtCore.QSize(420, 315))
self.label_red.setMaximumSize(QtCore.QSize(420, 315))
self.label_red.setStyleSheet("")
self.label_red.setText("")
self.label_red.setObjectName("label_red")
self.label_gif = QtWidgets.QLabel(self.tab)
self.label_gif.setGeometry(QtCore.QRect(150, 200, 331, 231))
self.label_gif.setMinimumSize(QtCore.QSize(0, 0))
self.label_gif.setMaximumSize(QtCore.QSize(999, 999))
self.label_gif.setStyleSheet("")
self.label_gif.setText("")
self.label_gif.setObjectName("label_gif")
self.wgt_rador = QtWidgets.QWidget(self.tab)
self.wgt_rador.setGeometry(QtCore.QRect(110, 520, 420, 600))
self.wgt_rador.setMinimumSize(QtCore.QSize(420, 600))
self.wgt_rador.setMaximumSize(QtCore.QSize(420, 600))
self.wgt_rador.setObjectName("wgt_rador")
self.g_box = QtWidgets.QGroupBox(self.wgt_rador)
self.g_box.setGeometry(QtCore.QRect(-20, 20, 461, 341))
self.g_box.setAutoFillBackground(False)
self.g_box.setStyleSheet("QGroupBox{border:none}")
self.g_box.setTitle("")
self.g_box.setObjectName("g_box")
self.label_public = QtWidgets.QLabel(self.tab)
self.label_public.setGeometry(QtCore.QRect(600, 180, 490, 370))
self.label_public.setObjectName("label_public")
self.label_back.raise_()
self.label_red.raise_()
self.label_light.raise_()
self.label_gif.raise_()
self.wgt_rador.raise_()
self.label_public.raise_()
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.layoutWidget = QtWidgets.QWidget(self.tab_2)
self.layoutWidget.setGeometry(QtCore.QRect(390, 150, 391, 124))
self.layoutWidget.setObjectName("layoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.btn_open_red = QtWidgets.QPushButton(self.layoutWidget)
self.btn_open_red.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_open_red.setObjectName("btn_open_red")
self.gridLayout.addWidget(self.btn_open_red, 1, 1, 1, 1)
self.btn_close_radar = QtWidgets.QPushButton(self.layoutWidget)
self.btn_close_radar.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_close_radar.setObjectName("btn_close_radar")
self.gridLayout.addWidget(self.btn_close_radar, 2, 2, 1, 1)
self.btn_close_red = QtWidgets.QPushButton(self.layoutWidget)
self.btn_close_red.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_close_red.setObjectName("btn_close_red")
self.gridLayout.addWidget(self.btn_close_red, 1, 2, 1, 1)
self.label_3 = QtWidgets.QLabel(self.layoutWidget)
self.label_3.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
self.btn_close_light = QtWidgets.QPushButton(self.layoutWidget)
self.btn_close_light.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_close_light.setObjectName("btn_close_light")
self.gridLayout.addWidget(self.btn_close_light, 0, 2, 1, 1)
self.btn_open_radar = QtWidgets.QPushButton(self.layoutWidget)
self.btn_open_radar.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_open_radar.setObjectName("btn_open_radar")
self.gridLayout.addWidget(self.btn_open_radar, 2, 1, 1, 1)
self.label_2 = QtWidgets.QLabel(self.layoutWidget)
self.label_2.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
self.label = QtWidgets.QLabel(self.layoutWidget)
self.label.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.btn_open_light = QtWidgets.QPushButton(self.layoutWidget)
self.btn_open_light.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_open_light.setObjectName("btn_open_light")
self.gridLayout.addWidget(self.btn_open_light, 0, 1, 1, 1)
self.gridLayoutWidget = QtWidgets.QWidget(self.tab_2)
self.gridLayoutWidget.setGeometry(QtCore.QRect(390, 440, 391, 181))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout_3 = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
self.gridLayout_3.setObjectName("gridLayout_3")
self.label_5 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_5.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label_5.setObjectName("label_5")
self.gridLayout_3.addWidget(self.label_5, 0, 0, 1, 1)
self.btn_close_wiper = QtWidgets.QPushButton(self.gridLayoutWidget)
self.btn_close_wiper.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_close_wiper.setObjectName("btn_close_wiper")
self.gridLayout_3.addWidget(self.btn_close_wiper, 0, 2, 1, 1)
self.btn_open_wiper = QtWidgets.QPushButton(self.gridLayoutWidget)
self.btn_open_wiper.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_open_wiper.setObjectName("btn_open_wiper")
self.gridLayout_3.addWidget(self.btn_open_wiper, 0, 1, 1, 1)
self.label_6 = QtWidgets.QLabel(self.gridLayoutWidget)
self.label_6.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label_6.setObjectName("label_6")
self.gridLayout_3.addWidget(self.label_6, 1, 0, 1, 1)
self.btn_open_fill = QtWidgets.QPushButton(self.gridLayoutWidget)
self.btn_open_fill.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_open_fill.setObjectName("btn_open_fill")
self.gridLayout_3.addWidget(self.btn_open_fill, 1, 1, 1, 1)
self.btn_close_fill = QtWidgets.QPushButton(self.gridLayoutWidget)
self.btn_close_fill.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_close_fill.setObjectName("btn_close_fill")
self.gridLayout_3.addWidget(self.btn_close_fill, 1, 2, 1, 1)
self.layoutWidget_2 = QtWidgets.QWidget(self.tab_2)
self.layoutWidget_2.setGeometry(QtCore.QRect(390, 290, 391, 131))
self.layoutWidget_2.setObjectName("layoutWidget_2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.btn_up = QtWidgets.QPushButton(self.layoutWidget_2)
self.btn_up.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_up.setObjectName("btn_up")
self.gridLayout_2.addWidget(self.btn_up, 0, 2, 1, 1)
self.label_4 = QtWidgets.QLabel(self.layoutWidget_2)
self.label_4.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.label_4.setObjectName("label_4")
self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1)
self.btn_left = QtWidgets.QPushButton(self.layoutWidget_2)
self.btn_left.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_left.setObjectName("btn_left")
self.gridLayout_2.addWidget(self.btn_left, 1, 1, 1, 1)
self.btn_stop = QtWidgets.QPushButton(self.layoutWidget_2)
self.btn_stop.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_stop.setObjectName("btn_stop")
self.gridLayout_2.addWidget(self.btn_stop, 1, 2, 1, 1)
self.btn_right = QtWidgets.QPushButton(self.layoutWidget_2)
self.btn_right.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_right.setObjectName("btn_right")
self.gridLayout_2.addWidget(self.btn_right, 1, 3, 1, 1)
self.btn_down = QtWidgets.QPushButton(self.layoutWidget_2)
self.btn_down.setStyleSheet("font: 75 12pt \"微软雅黑\";")
self.btn_down.setObjectName("btn_down")
self.gridLayout_2.addWidget(self.btn_down, 2, 2, 1, 1)
self.tabWidget.addTab(self.tab_2, "")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label_public.setText(_translate("MainWindow", "TextLabel"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "主界面"))
self.btn_open_red.setText(_translate("MainWindow", "打开"))
self.btn_close_radar.setText(_translate("MainWindow", "关闭"))
self.btn_close_red.setText(_translate("MainWindow", "关闭"))
self.label_3.setText(_translate("MainWindow", "雷达"))
self.btn_close_light.setText(_translate("MainWindow", "关闭"))
self.btn_open_radar.setText(_translate("MainWindow", "打开"))
self.label_2.setText(_translate("MainWindow", "红外光相机"))
self.label.setText(_translate("MainWindow", "可见光相机"))
self.btn_open_light.setText(_translate("MainWindow", "打开"))
self.label_5.setText(_translate("MainWindow", "雨刷:"))
self.btn_close_wiper.setText(_translate("MainWindow", "关闭"))
self.btn_open_wiper.setText(_translate("MainWindow", "打开"))
self.label_6.setText(_translate("MainWindow", "补光灯:"))
self.btn_open_fill.setText(_translate("MainWindow", "打开"))
self.btn_close_fill.setText(_translate("MainWindow", "关闭"))
self.btn_up.setText(_translate("MainWindow", "上"))
self.label_4.setText(_translate("MainWindow", "控制区:"))
self.btn_left.setText(_translate("MainWindow", "左"))
self.btn_stop.setText(_translate("MainWindow", "停止"))
self.btn_right.setText(_translate("MainWindow", "右"))
self.btn_down.setText(_translate("MainWindow", "下"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "控制区"))
import img_rc
有些程序没贴,这些应该能运行。只运行雷达部分