diff --git a/python_gui/gui/__pycache__/main_ui.cpython-37.pyc b/python_gui/gui/__pycache__/main_ui.cpython-37.pyc
index 81b729a..7e3c881 100644
Binary files a/python_gui/gui/__pycache__/main_ui.cpython-37.pyc and b/python_gui/gui/__pycache__/main_ui.cpython-37.pyc differ
diff --git a/python_gui/gui/__pycache__/wifi_udp.cpython-37.pyc b/python_gui/gui/__pycache__/wifi_udp.cpython-37.pyc
index e8301b4..e099e09 100644
Binary files a/python_gui/gui/__pycache__/wifi_udp.cpython-37.pyc and b/python_gui/gui/__pycache__/wifi_udp.cpython-37.pyc differ
diff --git a/python_gui/gui/main.py b/python_gui/gui/main.py
index 3a6d145..78f965d 100644
--- a/python_gui/gui/main.py
+++ b/python_gui/gui/main.py
@@ -1,5 +1,5 @@
import sys
-from PyQt5.QtWidgets import QApplication, QMainWindow
+from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
from main_ui import *
from wifi_udp import *
import threading #引入并行
@@ -11,50 +11,79 @@ class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.setupUi(self)
- self.v_list=[]
- self.v_list.append(np.zeros(300))
- self.timeArray = np.arange(-300, 0, 1)
+ # 变量初始化
+ self.variable_init()
+ # 设置实例
+ self.CreateItems()
+ # 设置信号与槽
+ self.CreateSignalSlot()
+ # 图表初始化
+ self.plot_init()
- self.velocity = 0
- # 滑条
- self.velocity_lineEdit.setText(str(self.velocity_horizontalSlider.value()))
+ # 设置信号与槽
+ def CreateSignalSlot(self):
+ self.wifi_recv_open_pushButton.clicked.connect(self.wifi_recv_open_pushButton_clicked)
self.velocity_horizontalSlider.valueChanged.connect(self.velocity_horizontalSlider_valueChanged)
+ self.wifi_config_pushButton.clicked.connect(self.wifi_config_pushButton_clicked)
+
+ # 设置实例
+ def CreateItems(self):
+ # 定时器-绘图刷新
+ self.timer = QtCore.QTimer()
+ self.timer.timeout.connect(self.update_plot)
+ self.timer.start(50)
# wifi udp
self.udp = udp()
+ self.wifi_IP_lineEdit.setText(self.udp.user_ip)
+ def variable_init(self):
+ # 图表数据变量
+ self.wifi_recv_flag = 0
+ self.udp_data = 0
+ self.target_velocity = 0
+ self.now_velocity = 0
- # 接收数据
- self.udp_data = ''
- t1 = threading.Thread(target=self.udp_recv)
- t1.start()
+ def plot_init(self):
+ # 图表可视化数组
+ self.v_list = []
+ self.v_list.append(np.zeros(300))
+ self.timeArray = np.arange(-300, 0, 1)
# 绘图对象
self.pw = pg.PlotWidget()
self.curve = self.pw.plot(pen='y')
self.gridLayout.addWidget(self.pw)
- # 定时器
- self.timer = QtCore.QTimer()
- self.timer.timeout.connect(self.update_plot)
- self.timer.start(50)
-
-
- # 滑条事件绑定
+ # 滑条绑定
def velocity_horizontalSlider_valueChanged(self):
- value = self.velocity_horizontalSlider.value()
- self.velocity_lineEdit.setText(str(value))
- # self.udp.send_message(str(value))
- # self.curve.updateItems()
- # self.curve.sigPlotChanged.emit(self.curve)
+ self.target_velocity = self.velocity_horizontalSlider.value()
+ self.velocity_lineEdit.setText(str(self.target_velocity))
+ self.udp.send_message(str(self.velocity_lineEdit))
+ def wifi_config_pushButton_clicked(self):
+ try:
+ self.udp.udpClientSocket.bind((self.wifi_IP_lineEdit.text(), 2333))
+ t1 = threading.Thread(target=self.udp_recv)
+ t1.start()
+ self.wifi_recv_open_pushButton.setEnabled(True)
+ except:
+ QMessageBox.critical(self, "错误", '该请求的地址无效')
+ def wifi_recv_open_pushButton_clicked(self):
+ if self.wifi_recv_flag == 0:
+ # 打开wifi接收
+ self.wifi_recv_flag = 1
+ self.wifi_recv_open_pushButton.setText('关闭')
+ else:
+ self.wifi_recv_flag = 0
+ self.wifi_recv_open_pushButton.setText('打开')
def udp_recv(self):
- while True:
+ while self.wifi_recv_flag:
recv_data = self.udp.udpClientSocket.recv(1024)
recv_data = recv_data.decode('utf-8')
self.udp_data = recv_data
def update_plot(self):
- print(self.udp_data)
- self.v_list[0] = np.roll(self.v_list[0], -1)
- self.v_list[0][-1] = self.udp_data
- self.curve.setData(self.timeArray, self.v_list[0]) # 在绘图部件中绘制折线图
+ if self.wifi_recv_flag:
+ self.v_list[0] = np.roll(self.v_list[0], -1)
+ self.v_list[0][-1] = self.udp_data
+ self.curve.setData(self.timeArray, self.v_list[0]) # 在绘图部件中绘制折线图
if __name__ == '__main__':
app = QApplication(sys.argv)
myWin = MyWindow()
diff --git a/python_gui/gui/main_ui.py b/python_gui/gui/main_ui.py
index 2151d33..dab51df 100644
--- a/python_gui/gui/main_ui.py
+++ b/python_gui/gui/main_ui.py
@@ -37,6 +37,26 @@ class Ui_MainWindow(object):
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
+ self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
+ self.groupBox.setGeometry(QtCore.QRect(20, 420, 241, 61))
+ self.groupBox.setObjectName("groupBox")
+ self.horizontalLayoutWidget = QtWidgets.QWidget(self.groupBox)
+ self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 20, 221, 31))
+ self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
+ self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
+ self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout.setSpacing(1)
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.wifi_IP_lineEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
+ self.wifi_IP_lineEdit.setObjectName("wifi_IP_lineEdit")
+ self.horizontalLayout.addWidget(self.wifi_IP_lineEdit)
+ self.wifi_config_pushButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
+ self.wifi_config_pushButton.setObjectName("wifi_config_pushButton")
+ self.horizontalLayout.addWidget(self.wifi_config_pushButton)
+ self.wifi_recv_open_pushButton = QtWidgets.QPushButton(self.centralwidget)
+ self.wifi_recv_open_pushButton.setEnabled(False)
+ self.wifi_recv_open_pushButton.setGeometry(QtCore.QRect(180, 380, 93, 28))
+ self.wifi_recv_open_pushButton.setObjectName("wifi_recv_open_pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
@@ -52,4 +72,9 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
+ self.velocity_lineEdit.setText(_translate("MainWindow", "0"))
self.label.setText(_translate("MainWindow", "速度:"))
+ self.groupBox.setTitle(_translate("MainWindow", "wifi_IP"))
+ self.wifi_IP_lineEdit.setText(_translate("MainWindow", "192.168.4.2"))
+ self.wifi_config_pushButton.setText(_translate("MainWindow", "设置"))
+ self.wifi_recv_open_pushButton.setText(_translate("MainWindow", "打开"))
diff --git a/python_gui/gui/main_ui.ui b/python_gui/gui/main_ui.ui
index 6fb30ee..ffa1791 100644
--- a/python_gui/gui/main_ui.ui
+++ b/python_gui/gui/main_ui.ui
@@ -48,6 +48,9 @@
21
+
+ 0
+
@@ -73,6 +76,64 @@
+
+
+
+ 20
+ 420
+ 241
+ 61
+
+
+
+ wifi_IP
+
+
+
+
+ 10
+ 20
+ 221
+ 31
+
+
+
+
+ 1
+
+ -
+
+
+ 192.168.4.2
+
+
+
+ -
+
+
+ 设置
+
+
+
+
+
+
+
+
+ false
+
+
+
+ 180
+ 380
+ 93
+ 28
+
+
+
+ 打开
+
+