在TraitsUI中,对于Item(),是否可以设置一个包含多个项目的visible_when()参数列表?
例如,我喜欢这样的事情:
Group(
Item(FirstItem, visible_when = 'foo == 1 and bar == 0'),
Item(SecondItem, visible_when = 'foo == 0 and bar == 1),
Item(ThirdItem, visible_when = 'foo == 0 and bar == 0)
)
因此只有FirstItem,SecondItem或ThirdItem会根据foo和bar中的值显示。
这可能吗?我做了一个初步的尝试,但没有运气(这可能是因为我的一个逻辑测试涉及一个字符串 - 我的问题是在visible_when字符串中有一个字符串测试?这是我的visible_when测试看起来像(并且没有工作):
visible_when = 'Initial_value == 1 && display_units == \'SI\'',
我用双引号尝试过SI" SI"和上面提到的逃脱的单引号一样......对我来说都不起作用。 我也试过使用'和'和'&&'也没有区别。
答案 0 :(得分:3)
是的,多项测试都有效。要验证这一点,请运行稍加修改的https://raw.githubusercontent.com/enthought/traitsui/master/examples/demo/Dynamic_Forms/visible_when.py,例如,将两个visible_when条件更改为:
main
和
var adsPromise = Restangular.one('ads', path)
.customGET("search", params).then(function(result){
overlay.set(false);
return {$object:result}
});
return adsPromise;
我建议检查有关数据内容的假设。
(顺便说一句,字符串可以使用双引号或转义单引号 - 我建议双引号以便于阅读)