pysimplegui LISTBox 去掉选中字体的下划线
时间: 2024-09-12 22:07:54 浏览: 53
PySimpleGUI (pysg) 的 ListBox 控件默认会显示选中的项目有下划线作为视觉标记。如果你想去掉这个下划线,可以自定义 ListBox 的样式或者事件处理函数。这里是一个简单的示例:
```python
import PySimpleGUI as sg
def create_listbox():
layout = [
[sg.Listbox(values=['Option 1', 'Option 2', 'Option 3'], key='-LB-', size=(20, 10), select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE, enable_events=True)],
[sg.Button('Clear Underline', bind_return_key=True)]
]
window = sg.Window('Listbox Example', layout)
def remove_underline():
window['-LB-'].UpdateItemFont(text_color='black', font='none') # 将选中的项文本颜色设为黑色,字体设为无下划线
window.Read(lambda event, values:
{'Clear Underline': remove_underline} if event == 'Clear Underline' else None)
create_listbox()
```
在这个例子中,我们创建了一个按钮 "Clear Underline",当点击该按钮时,`remove_underline` 函数会被触发,它会更新 ListBox 中所有选中的项,将文本颜色设为黑色(去除默认的下划线效果)。注意,这仅会移除选中项的下划线,如果你想要永久改变ListBox的整体样式,可能需要对`sg.theme()`进行调整。
阅读全文