def client_table_updater(): while True: try: rowCount = GUI.get.GetTableRowCount(self, "table_client") index = 0 for key, value in self.serverPtr.clientMap.items(): info = value if (index >= rowCount): GUI.modify.AppendTableItem(self, "table_client", [ info.IP, (str)(info.Port), str(info.getMessageCount()), str((time.time() - info.startTime)) + "秒", "已连接", "None" ]) else: GUI.modify.SetTableItem( self, "table_client", index, 2, str(info.getMessageCount())) GUI.modify.SetTableItem( self, "table_client", index, 3, str((time.time() - info.startTime)) + "秒") index += 1 except Exception as e: Debug.printError(str(e)) break time.sleep(0.1)
def SetLineEditText(self,objectName,text): ptr = GUI.UUIDToWidgetMap[self.getUUID()].ptr handle = GUI.UUIDToWidgetMap[self.getUUID()].findHandle(objectName) if not handle: Debug.printError(objectName+" not found") else: handle.setText(qt_module_wrapped.qstr(text))
def __init__(self, IP, port): # socket列表 self.socket_list = [] self.IP = IP self.port = port self.clientMap = {} Debug.printInfo("Test Info") Debug.printWarning("Test Warning") Debug.printError("Test Error")
def InsertMenuItem(path,func,checkable,group,pos,shortcut): try: global MenuItemMap import uuid ret = str(uuid.uuid1()) shortCutInfo = MenuManager.__PraseShortCut(shortcut) MenuItemMap[ret] = [MenuManager.__SplitPath(path),checkable,group,pos,shortCutInfo,func] return str(ret) except Exception as e: Debug.printError(e) return ""
def readCSV(filePath,start= 0 ,end=-1)->list: ans = [] with open(filePath) as f: reader = csv.reader(f) next(reader) next(reader) for row in reader: try: ans.append((float)(row[0])) except ValueError as ve: Debug.printError(str(ve)) return ans
def shutDown(self): try: for clientSocket in self.socket_list: clientSocket.shutdown(2) clientSocket.close() if self.socket_list: self.socket_list.clear() self.clientMap.clear() self.s.shutdown(2) self.s.close() Debug.printInfo("Server Closed") except Exception as e: Debug.printError(str(e))
def plot(x,y,title="plot",seriesName = "series",rgb = [0,0,0],xlabel = "X",ylabel = "Y",lineWidth = 1,windowTitle = "plot window"): if(not len(x) == len(y)): Debug.printError("数组x,y长度必须相等:x 长度为{} y 长度为{}".format(len(x),len(y))) return double_vector_x = double_vector() double_vector_y = double_vector() for i in range(len(x)): double_vector_x.append(x[i]) double_vector_y.append(y[i]) plt.__plotManager_ptr.plot(double_vector_x,double_vector_y,title,seriesName,qcolor_class(rgb[0],rgb[1],rgb[2]),xlabel,ylabel,lineWidth,windowTitle)
def run(self) -> bool: try: # 创建socket对象 self.s = socket.socket() # 绑定本地IP和端口 Debug.printInfo("IP=" + self.IP + " Port=" + str(self.port)) self.s.bind((self.IP, self.port)) # 开始监听 self.s.listen() # 循环等待连接 Debug.printInfo("waiting for client to join in...") t = threading.Thread(target=self.waitForClient) t.start() #t.join() except Exception as e: Debug.printError(str(e)) return False return True
def exportData(fileName: str, Infos: list) -> bool: import csv try: with open(fileName, 'w', newline='') as f: f_csv = csv.writer(f) f_csv.writerow(["IPDs", "Content"]) for i in range(0, len(Infos)): if (isinstance(Infos[i], list)): row = [] for j in range(0, len(Infos[i])): row.append(Infos[i][j]) f_csv.writerow(row) else: f_csv.writerow([Infos[i]]) except Exception as e: Debug.printError(str(e)) return False return True
def server_target(self, client, addr): try: while True: content = self.rec_from_client(client, addr) Debug.printInfo("received from " + str(addr) + ", content=" + str(content)) if str(content) == 'Fin' or content == None: Debug.printInfo("Finished") self.socket_list.remove(client) client.shutdown(2) client.close() self.clientMap[addr].setStatus( ClientInfo.CLIENT_STATUS_DISCONNECTED) break else: self.clientMap[addr].addMessage(content) except Exception as e: self.socket_list.remove(client) self.clientMap[addr].setStatus(ClientInfo.CLIENT_STATUS_INNERERROR) Debug.printError(str(e))
from Debug import Debug import qt_module_wrapped class GUIUtility(object): @staticmethod def AskOpenFile(title, filter=str(), default=str()): return qt_module_wrapped.qutility_class.openFile(qt_module_wrapped.qstr(title), \ qt_module_wrapped.qstr(filter),\ qt_module_wrapped.qstr(default)) @staticmethod def AskSaveFile(title, filter=str(), default=str()): return qt_module_wrapped.qutility_class.saveFile(qt_module_wrapped.qstr(title),\ qt_module_wrapped.qstr(filter),\ qt_module_wrapped.qstr(default)) @staticmethod def MessageBox(title: str, message: str): qt_module_wrapped.qutility_class.messageBox( qt_module_wrapped.qstr(title), qt_module_wrapped.qstr(message)) if __name__ == "__main__": import os import sys sys.path.append(os.path.abspath(os.path.join(__file__, "../../.."))) import qt_module_wrapped Debug.enabledDirectPrintMode() Debug.printError("123") Debug.disabledDirectPrintMode()
def SetIP(self,objectName,IP): handle = GUI.UUIDToWidgetMap[self.getUUID()].findHandle(objectName) if not handle: Debug.printError(objectName+" not found") else: handle.setIP(qt_module_wrapped.qstr(IP))
def SetControlEnabled(self,objectName,enabled:bool): handle = GUI.UUIDToWidgetMap[self.getUUID()].findHandle(objectName) if not handle: Debug.printError(objectName+" not found") else: handle.setEnabled(enabled)
def SetProgressBarValue(self,objectName,value): handle = GUI.UUIDToWidgetMap[self.getUUID()].findHandle(objectName) if not handle: Debug.printError(objectName+" not found") else: handle.setValue(value)
def SetStyleSheet(self,objectName,qssStr): handle = GUI.UUIDToWidgetMap[self.getUUID()].findHandle(objectName) if not handle: Debug.printError(objectName+" not found") else: handle.setQss(qt_module_wrapped.qstr(qssStr))