最近一直在用NiceGUI这个图形库重构我的交易系统,在系统中有一个利润统计的模块,可以按照指定的属性统计利润总和,并以柱状图进行显示。写这块代码的时候遇到一个动态属性绑定的问题,记录一下解决方法。
需求很简单,就是在利润统计模块中,如果利润总和小于等于0,即亏损的,在柱状图上用绿色柱图显示,如果是大于0,则用红色柱图显示。这个需求如果是写前端页面很好解决,js中属性直接绑定一个function回调就OK了,但是使用NiceGUI的时候,因为代码都是python的,所以不能直接用js特性的方法解决,好在新版的NiceGUI为这个需求提供了一个解决方法,即在Python代码中定义属性的时候前面加个 : (和Vue一样),然后绑定一个回调,需要注意的是,这个绑定回调不能是 function(parmas) { } 这种写法,需要用lambda的写法才行。示例截图如下:
最终效果:
文章评论