2016-03-30 10 views
1

私は、画面スケーリング誤っについて行っているが、次のように私のアプローチがあるかなり確信している:Kivyのsize_hint(ポップアップ)10進数のエラー

私は、高さが変化する可能性のある情報を表示するポップアップを持って、依存ユーザに提示される行数。フォントサイズを知っているため、1行あたりの高さをピクセル単位で知っているので、メッセージ内の\nを数えてiをインクリメントしています。私はその後、Window.heightでこれを分けて、情報を適切に表示するのに必要な画面のパーセンテージを私に与えました。

私はこの情報が正しく表示されていることを知っています。

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

しかし、私はpopupsize_hintpopupScale(nn.nn)を適用します。

InformationScreen.ResultsPopup.size_hint = 0.95, popupScale 

このエラーが発生します。

Popup.size_hint_y have an invalid format (got Decimal('0.25')) 

私はそれは文句を言うことはありません2進数、0.95を持っているので、これは、私を見逃さ。私はそれを文字列として使用しようとしました。

InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale) 

と同様にquantizeない元popupScaleを使用して、その数をトリミング。

popupScale = (Decimal(i)/Decimal(Window.height)) 
    InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale)[:4] 

どちらも動作しません。

私はsize_hintに関するドキュメントを見てきましたが、size_hintに必要なデータタイプに関連する情報は見つかりませんでした。どんな助けでも大歓迎です。ありがとう

答えて

3

size_hintReferenceListPropertyです。タプルは、size_hint_xsize_hint_yです。 size_hint_x(resp size_hint_y)は、NumericPropertyです。floatまたはintをとります。だからfloat(popupScale)それを行う必要があります。

編集:これで問題が解決されない場合は、この例外が発生します。line