Blender Python 以特定大小并在屏幕中央打开浏览器

Blender Python Open Browser With Specific Size And In The Center Of The Screen

我正在编写一个 blender python 插件,它与在线市场集成连接,当用户购买产品(3d 模型)时,window 需要打开才能制作通过贝宝交易。我使用的代码可以正常工作:

import webbrowser
webbrowser.open_new("http://www.paypal.com/buyProductURL")

但是 window 没有在屏幕中央打开,我也不知道如何定义正在打开的浏览器 window 的大小。

如何将浏览器 window 移至中心,如何定义其大小?

我想这可能是你想要的:

import webbrowser

browser = ' '.join([
    "chrome",
    "--chrome-frame",
    "--window-size=800,600",
    "--window-position=240,80",
    "--app=%s &",
])

webbrowser.get(browser).open('http://www.paypal.com/buyProductURL')

%s参数是模块使用的url。需要将浏览器作为带参数的命令调用。

Here 是关于如何在命令行中调用 chrome 的一些答案。

如果您需要在所有浏览器中具有相同行为的可移植性,这对我来说似乎是无法实现的。我认为您在这里没有其他选择,除非您将浏览器与您的代码一起发送或为 chrome、firefoxopera 等浏览器替代项编写更多代码。我写了一段代码,它可以在 chrome 和 chromium 上作为弹出式窗口工作,在其他浏览器上作为选项卡打开:

import webbrowser

try_browsers = {
    "chrome": [
        "chrome",
        "--chrome-frame",
        "--window-size=800,600",
        "--window-position=240,80",
        "--app=%s &",
    ],
}
try_browsers['chromium'] = try_browsers['chrome'][:]
try_browsers['chromium'][0] = 'chromium'
URL = 'http://www.paypal.com/buyProductURL'

for browser in try_browsers.values():
    if webbrowser.get(' '.join(browser)).open(URL):
        break
else:
    webbrowser.open(URL)