Okay, ich bin ein neuer Python -Programmierer und besonders neu in der GUI -Programmierung (also bitte sanft in meinem Programmierstil. Daten sofort, wenn ich die Funktion "self.databable.setItem ()" schreibe, werden die Daten erst angezeigt, wenn meine Verbindungsfunktion abgeschlossen ist. < /p>
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
< /code>
(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. Sobald es angezeigt wird, aber ich würde gerne sehen, dass sie alle angezeigt werden, wenn jeder Wert gesammelt wird, nicht nachdem alles fertig ist. Ich konnte keine ähnlichen Fragen finden, und keine der Dokumentation oder Tutorials aussagt einen separaten Befehl, um die Tabelle anzuzeigen. Sie alle scheinen einfach sofort zu erscheinen. In diesem Fall bin ich mir nicht ganz sicher, wie ich Dinge richtig bestellt.
PYQT5 TableWidget wird erst dann Elemente angezeigt, wenn die Funktion abgeschlossen ist ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Sortieren Sie eine Reihe von Saiten nach ihrem 3. Charakter, dann 4., dann 2.
by Anonymous » » in Php - 0 Replies
- 40 Views
-
Last post by Anonymous
-