Metasequoia BBS

| 新規投稿 | 通常表示 | ツリー表示 |
状態
タグ
キーワード
[7695] PythonスクリプトのMQWidget.WidgetBaseのwidth, heightの型がbool / tamachan
対応済み [不具合報告] 返信
widthとheightのPythonラッパがintではなくboolになっている(setterだけ?getterは正常っぽい)

doc = MQSystem.getDocument()
mainwnd = MQWidget.getMainWindow()
dlg = MQWidget.Dialog(mainwnd)
dlg.width = 800
print(str(dlg.width)) # <-- dlg.width == 1
print(type(dlg.width)) # <-- int
2018-06-15 01:07
[7696] Re: PythonスクリプトのMQWidget.WidgetBaseのwidth, heightの型がbool / 管理者
不具合確認しました。width,heightへのセットが正しく動作していないようです。

不具合自体は修正しますが、ダイアログを含めたウィジェットのサイズはピクセル単位で直接指定するよりも、hintSizeRateX/Yなどで標準サイズに対する比率で指定する方法を推奨しています。
ウィンドウ・ダイアログの場合、中身のウィジェットを比率指定しておくと、ウィンドウ表示時に自動的に適したサイズになるよう調整されます。
2018-06-15 15:46
[7698] Re: PythonスクリプトのMQWidget.WidgetBaseのwidth, heightの型がbool / tamachan
hintSizeなど色々試したのですがどうしてもうまくいきませんでした。最後にwidth,height使いました
Memoをダイアログいっぱいの大きさ & (中の文字が見える程度の大きさ or ダイアログのResizeに合わせてMemoも最大サイズ)
にする方法はありますでしょうか?

サンプルコード:
https://pastebin.com/R9zzNFrb
2018-06-17 23:28
[7699] Re: PythonスクリプトのMQWidget.WidgetBaseのwidth, heightの型がbool / 管理者
ヒントサイズを以下のように指定すれば大丈夫だと思います。
doc = MQSystem.getDocument()
mainwnd = MQWidget.getMainWindow()
dlg = MQWidget.Dialog(mainwnd)
m = MQWidget.Memo(dlg)
m.hintSizeRateX=30.0
m.hintSizeRateY=20.0
dlg.execute()

ダイアログのリサイズへの対応はhorzLayout/vertLayoutにフィルを指定するだけなのですが、こちらもどうも動作していないようです。併せて修正したものを近日中にリリースいたします。
2018-06-18 09:59
[7701] Re: PythonスクリプトのMQWidget.WidgetBaseのwidth, heightの型がbool / tamachan
ヒントサイズの使い方なんとなく分かりました。ありがとうございました。修正の方よろしくお願いいたします
2018-06-18 23:12