python - 使用 tkinter 和 python 3.7.2 在辅助屏幕中创建全屏应用程序
问题描述
我正在尝试使用 Tkinter 和 Python 3.7.2 创建一个简单的幻灯片。我希望幻灯片在辅助屏幕和全屏模式下显示图像。我尝试只使用这里建议的一个窗口和两个窗口。这是我写的代码:
import tkinter as tk
from PIL import Image, ImageTk
class App(tk.Tk):
'''Tk window/label adjusts to size of image'''
def __init__(self, image_files, x, y, delay):
# the root will be self
tk.Tk.__init__(self)
# set width. height, x, y position
self.geometry('%dx%d+%d+%d'%(912,1140,0,0)) #Window on main screen
#create second screen window
self.top2 = tk.Toplevel(self,bg="grey85")
self.top2.geometry('%dx%d+%d+%d'%(912,1140,-912,0)) # The resolution of the second screen is 912x1140.
#The screen is on the left of the main screen
self.top2.attributes('-fullscreen', False) #Fullscreen mode
self.pictures = image_files
self.picture_display = tk.Label(self.top2, width=912, height=1140)
self.picture_display.pack()
self.delay = delay
self.index = 1
self.nImages = len(image_files)
def start_acquisition(self):
if self.index == self.nImages+1:
self.destroy()
return
self.load = Image.open(self.pictures[self.index-1])
self.render = ImageTk.PhotoImage(self.load)
self.picture_display['image'] = self.render
self.index += 1
self.after(self.delay, self.start_acquisition)
def run(self):
self.mainloop()
# set milliseconds time between slides
delay = 3500
image_files = [
'1805Circle Test Output.bmp', #images resolution is 912x1140
'8233Circle Test Input.bmp',
'cross.bmp'
]
x = 0 #Not used currently
y = 0 #Not used currently
app = App(image_files, x, y, delay)
app.start_acquisition()
app.run()
print('Finished')
当全屏属性为“False”时,代码按预期工作。只要我将此属性设置为“True”,“top2”窗口就会出现在主屏幕上。如果只使用一个窗口,也会发生同样的事情。你能帮我找到解决这个问题的方法吗?谢谢
解决方案
推荐阅读
- json - decoding complicated JSON objects in Swift
- python - 为什么简单回归的 TensorFlow 结果与其输入相去甚远?
- azure - Azure 应用程序洞察力。自定义属性长度限制
- c++ - std::string 类成员被第三方宏记录的字符串文字损坏
- rust - 为什么联合上的模式匹配会出现无法访问的模式警告?
- c++ - opencv desktop capture returns only part of the screen on windows in large fonts mode
- javascript - Match string entries by regexp and create splitted array in javascript
- node.js - Node.js AWS Lambda不一致s3.putObject上传大数据对象
- javascript - JQuery/CSS 气泡鼠标悬停
- python-3.x - Python - Check if String is in Dictionary Value when Value is a list