【问题标题】:show Popup on top of open window in PySimpleGUI在 PySimpleGUI 的打开窗口顶部显示弹出窗口
【发布时间】:2019-09-19 23:38:50
【问题描述】:

我的弹出窗口在当前打开的窗口后面打开,因此无法看到弹出窗口。如何在当前打开的窗口顶部显示弹出窗口? 以下是示例代码:

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')

我尝试了使用 keep_on_top=True 的 Popup,但它不起作用,窗口优先显示在顶部,因此 Popup 仍然隐藏在窗口后面。有什么办法可以在窗口上方显示 Popup?

【问题讨论】:

    标签: python-3.x pysimplegui


    【解决方案1】:

    在 Popup 调用中设置 keep on top 为我创建了顶部窗口。

            sg.Popup('Ok clicked', keep_on_top=True)
    

    但是,如果你点击后面的窗口,因为它也有保持在顶部的设置,它会覆盖你的弹出窗口。

    由于您的主窗口被最大化,那么它可能不需要保持在顶部设置。这将允许您仅在弹出窗口中设置它,以便它确实停留在主窗口的顶部。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多