Raj*_*rma 3 python-3.x pysimplegui
我的弹出窗口在当前打开的窗口后面打开,因此无法看到弹出窗口。如何在当前打开的窗口顶部显示弹出窗口?以下是示例代码:
import PySimpleGUI as sg
# set global options for window
background = '#F0F0F0'
sg.SetOptions(background_color=background,
element_background_color=background,
text_element_background_color=background,
window_location=(0, 0),
margins=(0,0),
text_color = 'Black',
input_text_color ='Black',
button_color = ('Black', 'gainsboro'))
layout = [[sg.Button('Ok'), sg.Button('Cancel')]]
window = sg.Window('Test Window', grab_anywhere=False, size=(800, 480), return_keyboard_events=True, keep_on_top=True).Layout(layout).Finalize()
window.Maximize();
while True:
event, values = window.read()
if event in (None, 'Cancel'):
break
else:
sg.Popup('Ok clicked')
Run Code Online (Sandbox Code Playgroud)
我用 keep_on_top=True 尝试了 Popup,但它不起作用,窗口优先显示在顶部,因此 Popup 仍然隐藏在窗口后面。有没有办法在窗口上方显示弹出窗口?
在 Popup 调用中设置保持在顶部为我创建了顶部窗口。
sg.Popup('Ok clicked', keep_on_top=True)
Run Code Online (Sandbox Code Playgroud)
但是,如果您单击后面的窗口,因为它也有保持顶部设置,它将覆盖您的弹出窗口。
由于您的主窗口正在最大化,那么也许它不需要保持顶部设置。这将允许您只在弹出窗口中设置它,以便它保持在主窗口的顶部。
import PySimpleGUI as sg
# set global options for window
background = '#F0F0F0'
sg.SetOptions(background_color=background,
element_background_color=background,
text_element_background_color=background,
window_location=(0, 0),
margins=(0,0),
text_color = 'Black',
input_text_color ='Black',
button_color = ('Black', 'gainsboro'))
layout = [[sg.Button('Ok'), sg.Button('Cancel')]]
window = sg.Window('Test Window', layout, grab_anywhere=False, size=(800, 480), return_keyboard_events=True, finalize=True)
window.Maximize()
window.BringToFront()
while True:
event, values = window.read()
if event in (None, 'Cancel'):
break
else:
sg.Popup('Ok clicked', keep_on_top=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6366 次 |
| 最近记录: |