两个全屏 tkinter windows 在 Raspberry Pi 4 的独立显示器上
Two fullscreen tkinter windows on separate monitors on Raspbery Pi 4
我有一个简单的 TK 应用程序,运行在一台显示器上全屏显示就好了,但现在我想 运行 两个全屏显示 windows,每个显示器一个 Raspberry Pi 4. 这两个显示器有不同的分辨率,它们自己可以正常工作,但我无法让两个全屏 windows 工作,两个 windows 全屏都只在第一个显示器上显示。
我正在尝试用 tkinter.Tk().geometry()
来做,这是可行的方法还是有更直接的方法?
import tkinter
root = tkinter.Tk()
# specify resolutions of both windows
w0, h0 = 3840, 2160
w1, h1 = 1920, 1080
# set up window for display on HDMI 0
win0 = tkinter.Toplevel()
win0.geometry(f"{w0}x{h0}")
win0.attributes("-fullscreen", True)
win0.config(cursor="none") # remove cursor
win0.wm_attributes("-topmost", 1) # make sure this window is on top
# set up window for display on HDMI 1
win1 = tkinter.Toplevel()
win1.geometry(f"{w1}x{h1}")
win1.attributes("-fullscreen", True)
win1.config(cursor="none")
win1.wm_attributes("-topmost", 1)
你必须将第二个 window 向右偏移第一个显示器的宽度(X 系统首先将 HDMI0
端口上的显示器向下,然后将显示器从 HDMI1
向右)。geometry
让您确保它们不重叠,然后 fullscreen
按预期工作。
geometry
字符串的格式为:<width>x<height>+xoffset+yoffset
.
root = tkinter.Tk()
# specify resolutions of both windows
w0, h0 = 3840, 2160
w1, h1 = 1920, 1080
# set up window for display on HDMI 0
win0 = tkinter.Toplevel()
win0.geometry(f"{w0}x{h0}+0+0")
win0.attributes("-fullscreen", True)
# set up window for display on HDMI 1
win1 = tkinter.Toplevel()
win1.geometry(f"{w1}x{h1}+{w0}+0") # <- the key is shifting right by w0 here
win1.attributes("-fullscreen", True)
root.withdraw() # hide the empty root window
我有一个简单的 TK 应用程序,运行在一台显示器上全屏显示就好了,但现在我想 运行 两个全屏显示 windows,每个显示器一个 Raspberry Pi 4. 这两个显示器有不同的分辨率,它们自己可以正常工作,但我无法让两个全屏 windows 工作,两个 windows 全屏都只在第一个显示器上显示。
我正在尝试用 tkinter.Tk().geometry()
来做,这是可行的方法还是有更直接的方法?
import tkinter
root = tkinter.Tk()
# specify resolutions of both windows
w0, h0 = 3840, 2160
w1, h1 = 1920, 1080
# set up window for display on HDMI 0
win0 = tkinter.Toplevel()
win0.geometry(f"{w0}x{h0}")
win0.attributes("-fullscreen", True)
win0.config(cursor="none") # remove cursor
win0.wm_attributes("-topmost", 1) # make sure this window is on top
# set up window for display on HDMI 1
win1 = tkinter.Toplevel()
win1.geometry(f"{w1}x{h1}")
win1.attributes("-fullscreen", True)
win1.config(cursor="none")
win1.wm_attributes("-topmost", 1)
你必须将第二个 window 向右偏移第一个显示器的宽度(X 系统首先将 HDMI0
端口上的显示器向下,然后将显示器从 HDMI1
向右)。geometry
让您确保它们不重叠,然后 fullscreen
按预期工作。
geometry
字符串的格式为:<width>x<height>+xoffset+yoffset
.
root = tkinter.Tk()
# specify resolutions of both windows
w0, h0 = 3840, 2160
w1, h1 = 1920, 1080
# set up window for display on HDMI 0
win0 = tkinter.Toplevel()
win0.geometry(f"{w0}x{h0}+0+0")
win0.attributes("-fullscreen", True)
# set up window for display on HDMI 1
win1 = tkinter.Toplevel()
win1.geometry(f"{w1}x{h1}+{w0}+0") # <- the key is shifting right by w0 here
win1.attributes("-fullscreen", True)
root.withdraw() # hide the empty root window