使用開源的canopen for python可以輕鬆的讀取eds檔案中的內容,在此以從零開始新建符合cia ds301的物件字典eds檔案中建立的eds檔案作為示例,載入後的效果如下圖所示:
因為**非常簡單,在此僅貼出**而不作說明,**如下:
import canopen
import sys
from pyqt5.qtcore import (qmodelindex, qt, qvariant, pyqtsignal)
from pyqt5.qtgui import (qstandarditem, qstandarditemmodel)
data_type =
class
mainwindow
(qmainwindow):
def__init__
(self, parent=none):
super(mainwindow,self).__init__(parent)
treeview = qtreeview()
self.setcentralwidget(treeview)
standardmodel = qstandarditemmodel()
standardmodel.sethorizontalheaderlabels(('索引', '名稱', '數值', '最小值', '最大值', '資料型別', '訪問性'))
network = canopen.network()
node = network.add_node(1, 'ds301.eds')
item = standardmodel.invisiblerootitem()
for obj in node.object_dictionary.values():
tmp = [qstandarditem(hex(obj.index)),
qstandarditem(obj.name),
qstandarditem(str(obj.default) if hasattr(obj, 'default') else
none),
qstandarditem(str(obj.min) if hasattr(obj, 'min') else
none),
qstandarditem(str(obj.max) if hasattr(obj, 'max') else
none),
qstandarditem(data_type.get(obj.data_type if hasattr(obj, 'data_type') else
none)),
qstandarditem(obj.access_type if hasattr(obj, 'access_type') else
none),
]if isinstance(obj, canopen.objectdictionary.record):
for subobj in obj.values():
qstandarditem(subobj.name),
qstandarditem(str(subobj.default)),
qstandarditem(str(subobj.min)),
qstandarditem(str(subobj.max)),
qstandarditem(data_type.get(subobj.data_type)),
qstandarditem(subobj.access_type),
])elif isinstance(obj, canopen.objectdictionary.array):
treeview.setmodel(standardmodel)
treeview.expandall()
if __name__ == '__main__':
w = mainwindow()
w.show()
a.exec_()
EasyUI中datagrid控制項的Editor
datagrid 中的editor 每個editor 支援如下方法 方法 引數 說明 init container,options 初始化editor 並返還目標物件 destroy target 銷毀 editor getvalue target 從 editor text 中讀取值 setval...
NameNode中的Fsimage和Edits解析
在在 opt module hadoop 2.7.2 data tmp dfs name current 目錄下 1.fsimage檔案 hdfs檔案系統元資料的乙個永久性的檢查點,其中包含hdfs檔案系統的所有目錄和檔案idnode的序列化資訊 2.fsimage.md5檔案 是映象檔案的 md5...
QT中樹控制項QTreeView開發例項
本文講解了qt中樹控制項qtreeview開發例項,對於qtreeview沒有過多的講解,那麼不說廢話了,看 是如何實現的吧。方法一 使用qdirmodel進行目錄的現實,qdirmodel是qt中專為檔案目錄樹型顯示所提供的一種model。具體使用如下 1 int main int argc,ch...