2017-02-06 2 views
-1

Ich mache eine QTableView basierend auf einer QStandardItemModel. Ich füge Sie Daten in der folgenden Art und Weise:Akzeptiert Qt5 Numpy float64?

def addTableXYData(self,row): 
    label = 'Point '+str(row) 
    data = [label, self.x[row-1], self.y[row-1]] 
    for index, item in enumerate(data): 
     self.tableModel.setData(self.tableModel.index(row-1,index), item) 
    self.tableModel.layoutChanged.emit() 

Die Saiten für das Label fein in der Tabelle zeigen, aber es ist nicht die Zahlen nicht zeigen. Die Zahlen stammen von Klickpunkten auf einem Matplotlib Qt Canvas und sind natürlich numpy.float64 dtypes.

Kann Qt5 numpy.float64 Datentypen verarbeiten? Oder muss ich es in etwas anderes ändern? Ich nehme an, dass es etwas mit PyQt5 zu tun hat, das Bindungen zur C++ - Sprache verwendet, und vielleicht kann das nicht damit umgehen?

Ich habe versucht, die Dokumente auf QVariant zu lesen, aber es scheint mir nicht zu sagen, dass ich Floats nicht verwenden kann.

bearbeiten Statt nach unten stimmen mich ohne etwas zu sagen, wie über einige Weisheit auf mich legen und hilft mir?

Antwort

-1

Es stellt sich heraus, dass PyQt5 nicht die Fähigkeit hat, numpy Datentypklassen an Qt5 zu senden. Es tut native Python-Klassen wie int(), float() usw. aber nicht numpy.int32() usw. Ich nahm an, dass würde eingebaute Funktionalität gewesen sein, aber, dort ya gehen. Je mehr du weisst.