Kivy size_hint(popup)十进制错误

时间:2016-03-30 10:43:12

标签: kivy sizehint

我很确定我的屏幕缩放不正确,但我的方法如下:

我有一个显示信息的弹出窗口,其高度可能会发生变化,具体取决于呈现给用户的行数。由于我大致知道每行的像素高度(由于知道字体大小),因此我增加了i来计算所显示消息中的\n。然后我将其除以Window.height,以便给出正确显示信息所需屏幕的百分比。

我知道这些信息正确显示,当我硬编码由以下等式产生的值时;

    TwoDecPoints = Decimal(10) ** -2
    popupScale = (Decimal(i) / Decimal(Window.height)).quantize(TwoDecPoints)

但是当我将popupScale(nn.nn)应用于popup的{​​{1}}时;

size_hint

我收到此错误;

    InformationScreen.ResultsPopup.size_hint = 0.95, popupScale

这让我望而却步,因为我有一个2位小数, Popup.size_hint_y have an invalid format (got Decimal('0.25')) ,它永远不会抱怨。我试图将它用作字符串;

0.95

使用原始 InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale) 而不使用popupScale,并修剪数字;

quantize

两者都不起作用。

我查看了有关size_hint的文档,但找不到 popupScale = (Decimal(i) / Decimal(Window.height)) InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale)[:4] 所需的数据类型的任何相关信息。任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:3)

size_hintReferenceListProperty,是size_hint_xsize_hint_y的元组。  size_hint_x(resp size_hint_y)是一个NumericProperty,它需要一个浮点数或一个int。所以float(popupScale)应该这样做。

修改:如果这不能帮助在此line

中引发确切的异常