update 更新界面显示
This commit is contained in:
154
app.py
154
app.py
@ -11,6 +11,8 @@ from PySide6.QtGui import QIntValidator, QStandardItemModel, QStandardItem, Qt
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QHeaderView, QTableWidget, \
|
||||
QTableWidgetItem, QWidget, QHBoxLayout, QAbstractItemView, QMessageBox
|
||||
from datetime import datetime
|
||||
|
||||
import Util.util_pic
|
||||
from Util.util_ini import writeFeedLine_to_ini
|
||||
import Constant
|
||||
from CU.Command import FeedCommand
|
||||
@ -39,6 +41,61 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.init_FeedLine()
|
||||
self.start_Runing()
|
||||
self.init_log()
|
||||
self.init_qss()
|
||||
|
||||
def init_qss(self):
|
||||
self.active_status_Qss = """
|
||||
|
||||
background-color: #A2EF4D;
|
||||
color: #ffffff;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #A2EF4D;
|
||||
qproperty-alignment: 'AlignCenter';
|
||||
|
||||
"""
|
||||
self.noActive_status_Qss = """
|
||||
|
||||
background-color: #FD3251;
|
||||
color: #ffffff;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #FD3251;
|
||||
qproperty-alignment: 'AlignCenter';
|
||||
|
||||
"""
|
||||
|
||||
self.active_label_sign_Qss = """
|
||||
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
font: 700 12pt "Microsoft YaHei UI";
|
||||
color: black;
|
||||
|
||||
|
||||
"""
|
||||
self.active_btn_sign_Qss = """
|
||||
|
||||
background-color: rgb(255, 0, 0);
|
||||
font: 9pt "楷体";
|
||||
border: 1px solid #dcdfe6;
|
||||
border-radius: 5px;
|
||||
|
||||
|
||||
|
||||
"""
|
||||
self.noactive_label_sign_Qss = """
|
||||
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
font: 700 12pt "Microsoft YaHei UI";
|
||||
color: #7A7A7A;
|
||||
"""
|
||||
self.noactive_btn_sign_Qss = """
|
||||
|
||||
background-color: #7A7A7A;
|
||||
font: 9pt "楷体";
|
||||
border: 1px solid #dcdfe6;
|
||||
border-radius: 5px;
|
||||
|
||||
|
||||
"""
|
||||
|
||||
def init_log(self):
|
||||
|
||||
@ -139,7 +196,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
rows = len(self.feedLine_dict.keys()) + 1
|
||||
self.tableWidget_feedSeting.setRowCount(rows)
|
||||
self.tableWidget_feedSeting.setColumnCount(19)
|
||||
self.tableWidget_feedSeting.setColumnCount(20)
|
||||
# 设置第一重表头的合并 (三列一组)
|
||||
self.tableWidget_feedSeting_addtional_col_num = 2
|
||||
|
||||
@ -507,6 +564,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
self.pushButton_pauseFeed.setText('暂停')
|
||||
self.send_pause_command(False)
|
||||
self.send_start_tool_command()
|
||||
|
||||
pass
|
||||
|
||||
@ -558,7 +616,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
def run(self):
|
||||
while True:
|
||||
time.sleep(0.2)
|
||||
time.sleep(0.1)
|
||||
if not self.command_quene.empty():
|
||||
command = self.command_quene.get()
|
||||
if isinstance(command, FeedCommand) and command.status == Status.Prepareing:
|
||||
@ -592,7 +650,15 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
self.label_date.setText(datetime.now().strftime("%Y-%m-%d"))
|
||||
self.label_time.setText(datetime.now().strftime("%H:%M:%S"))
|
||||
|
||||
self.updateUI_Position()
|
||||
self.updateUI_label_detection()
|
||||
|
||||
self.updateUI_frame_sign(self.feeding.feedStatus)
|
||||
|
||||
def updateUI_label_detection(self):
|
||||
backgroud_img = Util.util_pic.cv2_to_qpixmap(self.feeding.detection_image)
|
||||
self.label_showDetection.setPixmap(backgroud_img)
|
||||
|
||||
def updateUI_Select_Line(self):
|
||||
self.comboBox_lineIndex.clear()
|
||||
@ -627,29 +693,74 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
QTableWidgetItem(str(real_Position.V)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 5 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.W)))
|
||||
def updateUI_frame_sign(self,sign:FeedStatus):
|
||||
# print("start")
|
||||
if sign == FeedStatus.FNone:
|
||||
self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False)
|
||||
self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False)
|
||||
self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False)
|
||||
self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False)
|
||||
return
|
||||
if sign < FeedStatus.FPhoto:
|
||||
self.set_sign_status(self.label_sign_go,self.pushButton_sign_go,True)
|
||||
self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False)
|
||||
self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False)
|
||||
self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False)
|
||||
return
|
||||
if sign <= FeedStatus.FPhoto:
|
||||
self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False)
|
||||
self.set_sign_status(self.label_sign_photo,self.pushButton_sign_photo,True)
|
||||
self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False)
|
||||
self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False)
|
||||
return
|
||||
if sign <= FeedStatus.FTake:
|
||||
self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False)
|
||||
self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False)
|
||||
self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, True)
|
||||
self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False)
|
||||
return
|
||||
if sign <= FeedStatus.FBroken:
|
||||
self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False)
|
||||
self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False)
|
||||
self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False)
|
||||
self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, True)
|
||||
return
|
||||
pass
|
||||
|
||||
|
||||
def set_label_status_style(self, connected: bool):
|
||||
if connected:
|
||||
self.label_connect_status.setStyleSheet("""
|
||||
QLabel {
|
||||
background-color: #A2EF4D; /* 设置背景颜色 */
|
||||
color: #ffffff; /* 设置字体颜色 */
|
||||
border-radius: 8px; /* 圆角半径设置为 QLabel 的一半,形成圆形 */
|
||||
border: 1px solid #A2EF4D; /* 设置边框颜色和宽度 */
|
||||
qproperty-alignment: 'AlignCenter'; /* 设置文本居中 */
|
||||
}
|
||||
|
||||
""")
|
||||
if connected:
|
||||
if self.label_connect_status.styleSheet().strip() != self.active_status_Qss:
|
||||
self.label_connect_status.setStyleSheet(self.active_status_Qss)
|
||||
self.active_status_Qss = self.label_connect_status.styleSheet().strip()
|
||||
|
||||
else:
|
||||
self.label_connect_status.setStyleSheet("""
|
||||
QLabel {
|
||||
background-color: #FD3251; /* 设置背景颜色 */
|
||||
color: #ffffff; /* 设置字体颜色 */
|
||||
border-radius: 8px; /* 圆角半径设置为 QLabel 的一半,形成圆形 */
|
||||
border: 1px solid #FD3251; /* 设置边框颜色和宽度 */
|
||||
qproperty-alignment: 'AlignCenter'; /* 设置文本居中 */
|
||||
}
|
||||
""")
|
||||
if self.label_connect_status.styleSheet().strip() != self.noActive_status_Qss:
|
||||
self.label_connect_status.setStyleSheet(self.noActive_status_Qss)
|
||||
self.noActive_status_Qss = self.label_connect_status.styleSheet().strip()
|
||||
def set_sign_status(self,label,btn,signed:bool):
|
||||
|
||||
try :
|
||||
if signed:
|
||||
if label.styleSheet().strip() != self.active_label_sign_Qss:
|
||||
label.setStyleSheet(self.active_label_sign_Qss)
|
||||
self.active_label_sign_Qss = label.styleSheet().strip()
|
||||
|
||||
if btn.styleSheet().strip() != self.active_btn_sign_Qss:
|
||||
btn.setStyleSheet(self.active_btn_sign_Qss)
|
||||
self.active_btn_sign_Qss = btn.styleSheet().strip()
|
||||
else:
|
||||
if label.styleSheet().strip() != self.noactive_label_sign_Qss:
|
||||
label.setStyleSheet(self.noactive_label_sign_Qss)
|
||||
self.noactive_label_sign_Qss = label.styleSheet().strip()
|
||||
if btn.styleSheet().strip() != self.noactive_btn_sign_Qss:
|
||||
btn.setStyleSheet(self.noactive_btn_sign_Qss)
|
||||
self.noactive_btn_sign_Qss = btn.styleSheet().strip()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
|
||||
|
||||
def set_run_status_button(self, isRuning: bool):
|
||||
self.pushButton_pauseFeed.setText("暂停")
|
||||
@ -670,6 +781,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.command_quene.put(request_command)
|
||||
|
||||
def send_position_command(self, x1, x2, x3, x4, x5, x6, move_type: MoveType = MoveType.WORLD):
|
||||
|
||||
position_instruction = Instruction()
|
||||
position_instruction.m0 = float(x1)
|
||||
position_instruction.m1 = float(x2)
|
||||
|
||||
Reference in New Issue
Block a user