main
zcwBit 1 year ago
parent d9995cc51d
commit 4c74b91652

Binary file not shown.

Binary file not shown.

@ -176,6 +176,7 @@ class AreaWidget(QWidget):
self.orderCombox = QComboBox()
self.orderCombox.addItems(['不转换', '字节转换', '字转换', '字内转换'])
self.orderCombox.setObjectName('orderCombox')
self.orderCombox.setCurrentIndex(1)
# self.orderCombox.setFixedSize(90, 27)
self.byteLineLabel = QLabel('字节长度:')

@ -12,11 +12,12 @@ from utils.DBModels.DeviceParModels import *
from utils import Globals
from UI.LoadingDataWidget import LoadingDataWidget
from UI.EditAddressWidget import EditAddressWidget
from UI.SoftKeyBoardEdit import *
from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType
class ShowImage(QWidget):
def __init__(self, image_path):
super().__init__()
@ -238,7 +239,7 @@ class BlockParameterManageWidget(QWidget):
self.settingLayout = QHBoxLayout()
self.deviceAddressLabel = QLabel('从站地址')
self.deviceAddressLabel.setObjectName('deviceAddressLabel')
self.deviceAddressEdit = QLineEdit()
self.deviceAddressEdit = SoftKeyBoardEdit()
self.deviceAddressEdit.returnPressed.connect(self.loadBlackData)
self.deviceAddressEdit.setObjectName("deviceAddressEdit")
@ -288,7 +289,7 @@ class BlockParameterManageWidget(QWidget):
address = self.deviceAddressEdit.text()
# print(address)
if address:
pattern = re.compile(r'^(?:[1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-7])$')
pattern = re.compile(r'^(?:[3-9]|[1-9][0-9]|1[0-1][0-9]|12[0-6])$')
match = pattern.match(address)
else:
@ -299,7 +300,7 @@ class BlockParameterManageWidget(QWidget):
return
if not match:
QMessageBox.warning(self, '提示', '请输入2 - 127')
QMessageBox.warning(self, '提示', '请输入3 - 126')
return
if self.initUIstat:

@ -51,7 +51,8 @@ class VarTableModel(QAbstractTableModel):
print("列索引超出范围")
return
# for row in range(self.rowCount()):
if self.datas[row][2] in ['SENSOR_UNIT']:
if 'unit' in self.datas[row][2].lower():
unit = UnitTable.getUnitSymbolByUnitValue(value)
value = unit if unit else value
self.datas[row][6] = value
@ -77,7 +78,7 @@ class VarTableModel(QAbstractTableModel):
if role == Qt.TextAlignmentRole:
return Qt.AlignCenter
if not QModelIndex.isValid():
print("行或者列有问题")
return QVariant()
if role == Qt.TextColorRole:
@ -139,6 +140,9 @@ class VarTableModel(QAbstractTableModel):
def updateValue(self, valueList):
for index, value in enumerate(valueList):
if 'unit' in self.datas[index][2].lower():
unit = UnitTable.getUnitSymbolByUnitValue(value)
value = unit if unit else value
self.datas[index][6] = value
self.table.proxy.invalidate()
@ -198,7 +202,7 @@ class VarButtonDelegate(QItemDelegate):
boxLayout.addWidget(refreshButton,1)
combox.index = [index.row(), index.column()]
elif objectType == 'SENSOR_UNIT':
elif 'unit' in objectType.lower():
comboxUnit = QComboBox()
comboxUnit.setObjectName('modeCombox')
comboxUnit.addItem('下拉选择')
@ -265,10 +269,9 @@ class VarButtonDelegate(QItemDelegate):
"请输入强制值",
QMessageBox.Yes)
return
match dataType:
case "Float":
if dataType in ['Float', 'DS-36', 'Unsigned16', 'Unsigned8']:
pattern = re.compile(r'^[+-]?(\d+(\.\d*)?|\.\d+)$')
for value in values:
pattern = re.compile(r'[^0-9\.-]+')
if not value or re.findall(pattern, str(value)):
reply = QMessageBox.question(self.parent(),
'警告',

@ -7,7 +7,7 @@ from PyQt5.QtCore import QSize, Qt
from PyQt5.Qt import *
from PyQt5.QtGui import QPixmap, QIcon
from PyQt5.QtWidgets import QHBoxLayout, QAbstractItemView, QVBoxLayout, QSplitter, \
QApplication, QLabel, QGridLayout, QLineEdit, QComboBox, QTextEdit, QCheckBox,QVBoxLayout,QListView, QMainWindow, QStackedWidget, QMessageBox
QApplication, QLabel, QGridLayout, QComboBox, QTextEdit, QCheckBox,QVBoxLayout,QListView, QMainWindow, QStackedWidget, QMessageBox
from PyQt5.QtWidgets import QSizePolicy, QWidget
from ctypes import POINTER, cast
@ -21,7 +21,7 @@ from win32.lib import win32con
from windoweffect.window_effect import WindowEffect
from windoweffect.c_structures import MINMAXINFO, NCCALCSIZE_PARAMS
from utils.DBModels.DeviceModels import DeviceDB
from UI.SoftKeyBoardEdit import *
class DeviceDialog(QDialog):
@ -36,22 +36,22 @@ class DeviceDialog(QDialog):
self.resize(306, 451)
self.setObjectName('deviceDialog')
self.deviceNameEdit = QLineEdit()
self.deviceNameEdit = SoftKeyBoardEdit()
self.deviceNameEdit.setPlaceholderText("设备名称")
self.deviceNameEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.deviceNameEdit.setObjectName('deviceMesEdit')
self.pvUpperEdit = QLineEdit()
self.pvUpperEdit = SoftKeyBoardEdit()
self.pvUpperEdit.setPlaceholderText("量程上限")
self.pvUpperEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.pvUpperEdit.setObjectName('deviceMesEdit')
self.pvLowerEdit = QLineEdit()
self.pvLowerEdit = SoftKeyBoardEdit()
self.pvLowerEdit.setPlaceholderText("量程下限")
self.pvLowerEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.pvLowerEdit.setObjectName('deviceMesEdit')
self.pvUnitEdit = QLineEdit()
self.pvUnitEdit = SoftKeyBoardEdit()
self.pvUnitEdit.setPlaceholderText("单位")
self.pvUnitEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.pvUnitEdit.setObjectName('deviceMesEdit')

@ -23,7 +23,7 @@ from windoweffect.c_structures import MINMAXINFO, NCCALCSIZE_PARAMS
from utils.DBModels.DeviceModels import DeviceDB
from model.ConfigModel.GSDManage import GsdParser
from UI.SoftKeyBoardEdit import *
from protocol.ModBus.DPV1Master import DPV1Master
class EditAddressWidget(QDialog):
@ -37,12 +37,12 @@ class EditAddressWidget(QDialog):
self.resize(306, 350)
self.setObjectName('deviceDialog')
self.newAddressEdit = QLineEdit()
self.newAddressEdit = SoftKeyBoardEdit()
self.newAddressEdit.setPlaceholderText("请输入目标站地址")
self.newAddressEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.newAddressEdit.setObjectName('deviceMesEdit')
self.oldAddressEdit = QLineEdit()
self.oldAddressEdit = SoftKeyBoardEdit()
self.oldAddressEdit.setPlaceholderText("请输入原站地址")
self.oldAddressEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
self.oldAddressEdit.setObjectName('deviceMesEdit')

@ -119,6 +119,7 @@ class MainWindow(QWidget):
self.valueBtn.setIcon(qtawesome.icon('fa.pencil', color='#1fbb6f'))
self.valueBtn.setIconSize(QSize(25, 25))
self.valueBtn.setCheckable(True)
self.valueBtn.clicked.connect(self.switchDeviceValueManageWidget)
self.deviceParameterManageBtn = QPushButton('设备参数管理')
@ -211,7 +212,7 @@ class MainWindow(QWidget):
self.stackWidget.addWidget(self.upperWidget)
self.stackWidget.addWidget(QWidget())
self.stackWidget.addWidget(self.blockParameterManageWidget)
self.valueBtn.clicked.connect(lambda : self.stackWidget.setCurrentIndex(0))
self.mainLayout = QVBoxLayout(self)
self.mainLayout.addLayout(toolbarLayout, 1)
@ -310,13 +311,23 @@ class MainWindow(QWidget):
startupInfo.wShowWindow = 2
self.process = subprocess.Popen("D:\\EnTalk PROFIBUS Manager\\DP.exe",startupinfo=startupInfo)
QTimer.singleShot(500, lambda:self.showLowerWidget(self.process))
self.showMaximized()
# self.showFullScreen()
# self.switchBtn.setIcon(QIcon(':/static/varMagH.png'))
def switchDeviceValueManageWidget(self):
self.stackWidget.setCurrentIndex(0)
try:
self.stackWidget.widget(3).clearFocus()
except Exception as e:
pass
def switchDeviceParManageWidget(self):
# if self.deviceParameterManageBtn.isChecked():
self.stackWidget.setCurrentIndex(2)
try:
self.stackWidget.widget(3).clearFocus()
except Exception as e:
pass
# self.deviceParameterManageBtn.setText('变量读写')
self.deviceParameterManageBtn.setIcon(qtawesome.icon('fa.pencil-square-o', color='#1fbb6f'))
@ -336,14 +347,14 @@ class MainWindow(QWidget):
widget = QWidget.createWindowContainer(QWindow.fromWinId(hwnd))
# print(type(widget))
widget.hwnd = hwnd # 窗口句柄
widget.phwnd = 0 # 父窗口句柄
widget.phwnd = int(self.winId()) # 父窗口句柄
widget.style = style # 窗口样式
widget.exstyle = exstyle # 窗口额外样式
widget.wrect = wrect # 窗口位置
self.stackWidget.addWidget(widget)
widget.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint | Qt.WindowFullScreen)
widget.setWindowFlags(Qt.FramelessWindowHint)
win32gui.SetParent(hwnd, int(self.winId()))

@ -1,6 +1,6 @@
from PyQt5.QtWidgets import QLineEdit, QVBoxLayout
from UI.SoftKeyBoardEdit import *
class ObjectTypeEditlayout(QVBoxLayout):
def __init__(self, objectType, dataType):
super().__init__()
@ -11,10 +11,10 @@ class ObjectTypeEditlayout(QVBoxLayout):
def initUI(self):
self.editline1 = QLineEdit()
self.editline2 = QLineEdit()
self.editline3 = QLineEdit()
self.editline4 = QLineEdit()
self.editline1 = SoftKeyBoardEdit()
self.editline2 = SoftKeyBoardEdit()
self.editline3 = SoftKeyBoardEdit()
self.editline4 = SoftKeyBoardEdit()
self.editline1.setObjectName('parameEditline')
self.editline2.setObjectName('parameEditline')
self.editline3.setObjectName('parameEditline')
@ -68,7 +68,6 @@ class ObjectTypeEditlayout(QVBoxLayout):
def getEditlineValue(self):
valueList = []
print(self.editlineList,6777)
for editline in self.editlineList:
value = editline.text()
valueList.append(value)

@ -45,7 +45,7 @@ class SoftKeyBoardEdit(QLineEdit):
def mousePressEvent(self, event):
print(Globals.getValue('_touchMode'))
# print(Globals.getValue('_touchMode'))
if Globals.getValue('_touchMode'):
self.toggleTabtip()
event.accept()

@ -39,6 +39,7 @@ if __name__ == '__main__':
Client.initDB()
window = MainWindow()
window.showFullScreen()
# window.showMaximized()
Globals.setValue('MainWindow', window)
# window.show()
sys.exit(app.exec_())

@ -120,7 +120,7 @@ class Parm():
valueByte, statusByte = value[:4], value[4].to_bytes(1, byteorder='little')
value = self.unpackFloat(valueByte)
status = self.unpackU8(statusByte)
displayStr = '值:{}\r\n状态:{}'.format(value, status)
displayStr = '值:{}状态:{}'.format(value, status)
return displayStr
def unpackDS32(self, value):
@ -142,7 +142,7 @@ class Parm():
def unpackDS36(self, value):
print(len(value))
# print(len(value))
EU100Byte, EU0Byte, unitByte, decPointByte = value[:4], value[4:8], value[8:10], value[10].to_bytes(1, byteorder='little')
EU100 = self.unpackFloat(EU100Byte)
EU0 = self.unpackFloat(EU0Byte)

Loading…
Cancel
Save