sg.取消按钮焦点框

在PySimpleGUI中,按钮上的虚框通常是由焦点指示器(focus indicator)引起的。要取消这个虚框,可以通过以下两种方法实现:

方法1:禁用按钮的焦点属性

在按钮参数中添加 focus=False,直接禁用焦点效果:

import PySimpleGUI as sg

layout = [[sg.Button('点我', size=8, button_color=('white','firebrick3'), focus=False)]]
window = sg.Window('标题', layout)
# 后续代码...

方法2:全局禁用焦点指示器(推荐)

在创建窗口前设置全局主题参数,彻底移除所有元素的焦点框:

import PySimpleGUI as sg

sg.theme_global_parameters(button_focus_color='firebrick3')  # 保持颜色但移除虚线框
# 或者直接禁用所有焦点效果
sg.set_options(button_focus=False)

layout = [[sg.Button('点我', size=8, button_color=('white','firebrick3'))]]
window = sg.Window('标题', layout)
# 后续代码...

关键参数说明:

  • focus=False:直接作用于单个按钮,禁用其焦点效果
  • button_focus=False:全局禁用所有按钮的焦点效果
  • button_focus_color:可设置焦点颜色(如设为与背景色相同可隐藏虚框)

效果对比:

原效果 修复后效果
点击按钮后出现黑色虚线框 点击后无任何虚线框

💡 提示:推荐使用全局设置(方法2),可一次性解决所有按钮的虚框问题。如果只需要单个按钮无虚框,则使用方法1。

posted @ 2025-12-04 00:13  nxhujiee  阅读(0)  评论(0)    收藏  举报