首先,我为糟糕的头衔感到抱歉,但我不知道什么是合适的。我正在为下面的块寻找更好的语法,这样我就不会重复自己了。
self.rulerMajorTickWidth和self.rulerMinorTickWidth只能是正浮点数
if self.rulerMajorTickLabel and self.rulerMinorTickLabel:
if self.rulerMajorTickWidth > self.rulerMinorTickWidth:
halfTickHeight = self.rulerMajorTickWidth / 2
else:
halfTickHeight = self.rulerMinorTickWidth / 2
elif self.rulerMajorTickLabel:
halfTickHeight = self.rulerMajorTickWidth / 2
elif self.rulerMinorTickLabel:
halfTickHeight = self.rulerMinorTickWidth / 2
else:
halfTickHeight = 0
非常感谢你!
答案 0 :(得分:0)
假设这里有一些方法可以使它优雅地工作,所以你可能想要在代码中的其他地方确保它。我的假设:
self.rulerMajorTickWidth
和self.rulerMinorTickWidth
是正数,或等于零假设这一切,你可以做到:
halfTickHeight = max(self.rulerMajorTickWidth, self.rulerMinorTickWidth) / 2
如果他们的“假”值是None或undefined,那就更复杂了。这就是为什么我建议在代码中的其他地方确保它是0或整数/浮点数。如果它们实际上是布尔值False
,则可以float()
将它们等于0
编辑:因为我发现标签与宽度部分不同,您仍然可以通过这样做更轻松地预先形成所有支票:
tmpMajor = self.rulerMajorTickWidth if self.rulerMajorTickLabel else 0
tmpMinor = self.rulerMinorTickWidth if self.rulerMinorTickLabel else 0
halfTickHeight = max(tmpMajor, tmpMinor) / 2
这相当于之前的所有if...elif...else
条款