C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

画面を原寸大にする7

こちらの続きです。
画面を原寸大にする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)

解像度を変更し実行した結果はこちら。

設定されている値じゃなくて、モニターそのものの数値っぽい事判明。
原因は分かった。じゃあどうしようか。