gpt4 book ai didi

python - Tkinter 组合框 - 单击小部件时优雅地失去焦点

转载 作者:行者123 更新时间:2023-12-03 14:29:41 26 4
gpt4 key购买 nike

我有一个用 Python Tkinter 编写的 ComboBox,当您单击它而不选择某些内容时,它会发出可怕的系统警报声。
例如,当您点击下拉菜单并选择您的项目时,它工作正常。但是如果你点击下拉菜单然后决定点击关闭,它会像预期的那样失去焦点,但它会发出警报声。可以以某种方式禁用它,以便它可以优雅地失去焦点而不会提示吗?顺便说一句,我在 OSX 10.9 上
更新 -
产生警报的最少工作代码。

from Tkconstants import *
import ttk
import Tkinter

class PyPrecursor():

def __init__(self,root):
self.root = root
self.TabNotebook()

def TabNotebook(self):
self.main_notebook_frame = ttk.Notebook(self.root, name='main_notebook')
self.main_notebook_frame.enable_traversal()
self.OptionsF = ttk.Frame(self.main_notebook_frame, name='options')
self.length_options_frame = ttk.LabelFrame(
self.OptionsF, labelwidget=ttk.Label(font=('Arial', 15), text="Length Options:"))
self.hcdr3_length_label = ttk.Label(self.length_options_frame, text="HCDR3 Length")
self.HCDR3_Length = Tkinter.StringVar()
self.hcdr3_length_combo = ttk.Combobox(
self.length_options_frame, values=[i for i in xrange(16, 36)],
textvariable=self.HCDR3_Length)
self.hcdr3_length_combo.current(0)
self.length_options_frame.pack(side=TOP,fill=X,pady=5)
self.hcdr3_length_label.pack(side=LEFT)
self.hcdr3_length_combo.pack(side=LEFT,anchor=W)
self.main_notebook_frame.pack(side=TOP,expand=1,fill=BOTH,padx=10,pady=10)
self.main_notebook_frame.add(
self.OptionsF, text="Input Options", underline=0, padding=2)
self.main_notebook_frame.bind("<<NotebookTabChanged>>",self.update_)

def update_(self,event):
self.root.update()

def main():
root = Tkinter.Tk()
PyPrecursor(root)
root.mainloop()
root.update_idletasks()


if __name__ == '__main__':
main()

最佳答案

你可能想试试这个:self.hcdr3_length_combo.bell(displayof=1)
虽然不确定它应该是 1 还是 0 ......
如果它不起作用,可能是包含小部件会发出声音。可能还想将其应用于父小部件。我不熟悉 python 2.7,当我使用 python3 稍作修改时它不会发出声音。

通常,当您找不到特定小部件的选项时,您可以在常规小部件选项中找到一些内容。只需搜索“tkinter 小部件选项”,你就会得到一些类似的地方:
https://effbot.org/tkinterbook/widget.htm

关于python - Tkinter 组合框 - 单击小部件时优雅地失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28621812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com