PYQT5 TableWidget wird erst dann Elemente angezeigt, wenn die Funktion abgeschlossen istPython

Python-Programme
Anonymous
 PYQT5 TableWidget wird erst dann Elemente angezeigt, wenn die Funktion abgeschlossen ist

Post by Anonymous »

Ich bin ein neuer Python -Programmierer und besonders neu in der GUI -Programmierung. Anstatt die Daten sofort anzuzeigen, wenn ich self.datatable.setItem () aufrufe, werden die Daten erst angezeigt, wenn die Verbindungsfunktion abgeschlossen ist.

Code: Select all

 def FunctionConnect(self):
self.ScanComPB.clicked.connect(self.ScanComPBClicked)
self.CloseComPB.clicked.connect(self.CloseComPBClicked)

def ScanComPBClicked(self):
print("Scan Com Ports Clicked")

Port = serial.tools.list_ports.comports()

for OnePort in Port:
self.PortList.append(OnePort.device)

PortListLen = len(self.PortList)
PortListLenSplit = math.ceil(PortListLen/2)

List1 = self.PortList[:PortListLenSplit]
List2 = self.PortList[PortListLenSplit:]

self.COMList1.addItems(List1)
self.COMList2.addItems(List2)

self.ComRow = 2

for Ports in self.PortList:

#Reset Dictionary Data
self.SensorDict["ComPort"] = ""
self.SensorDict["EEPROM"] = []

print(Ports)
self.SensorDict["ComPort"] = Ports
self.DataTable.setItem(self.ComRow,0,QTableWidgetItem(Ports))

try:
self.TestPort = serial.Serial(Ports, self.BaudRate, timeout = self.TimeOut)

except serial.SerialException:
self.DataTable.setItem(self.ComRow,0,QTableWidgetItem("Serial Exception"))
self.TestPort.close()

#Read Sensor EEPROM, and loads it into self.SensorDict["EEPROM"]
self.ReadSensorEEPROM()
print ("Read EEPROM")

if self.SensorDict["EEPROM"]:
#Gets sensor type and loads it into self.SensorDict["Sensor Type"]
self.GetSensorType()

print ("Read Sensor Type")
self.DataTable.setItem(self.ComRow,1,QTableWidgetItem(self.SensorDict["Sensor Type"]))

else:
self.DataTable.setItem(self.ComRow,1,QTableWidgetItem("Invalid"))
self.SensorDict["Pass/Fail"] = False

self.TestPort.close()
self.ComRow += 1
(Hoffentlich reicht das aus einem Ausschnitt aus, um das Problem zu verstehen)
Programmierung in Spyder Python 3.1.2 Pyqty, auf einem Windows 11 -PC. Dort, an der richtigen Stelle, sobald es angezeigt wird, möchte ich, dass sie angezeigt werden, sobald jeder Wert gesammelt wird, nicht nachdem alles fertig ist. < /p>
Ich versuche das Problem zu verstehen. Ich konnte keine ähnliche Frage finden und weder die Dokumentation noch ein Tutorial sagen etwas über einen separaten Befehl zur Aktualisierung der Tabellenanzeige. Alles scheint sofort dort zu erscheinen.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post