こちらの続きです。
画面を原寸大にする6 - C#ATIA
Tkinterで取得出来るdpiが、設定されている数値じゃない様な
気がしたので、テストしました。
# Fusion360API Python script import traceback import adsk.fusion import adsk.core from tkinter import * DEBUG = True def run(context): ui = adsk.core.UserInterface.cast(None) try: app: adsk.core.Application = adsk.core.Application.get() ui = app.userInterface tk = Tk() msg = ['***'] msg.append(f'winfo_screenwidth : {tk.winfo_screenwidth()}') msg.append(f'winfo_screenheight : {tk.winfo_screenheight()}') msg.append(f'winfo_fpixels("1i"):{tk.winfo_fpixels("1i")}') msg.append(f'winfo_fpixels("1c"):{tk.winfo_fpixels("1c")}') dumpmsg('\n'.join(msg)) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) def dumpmsg(s): if DEBUG: adsk.core.Application.get().log(s) print(s)
解像度を変更し実行した結果はこちら。
設定されている値じゃなくて、モニターそのものの数値っぽい事判明。
原因は分かった。じゃあどうしようか。