jwi*_*720 8 python combobox focus tkinter
我有一个用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()
Run Code Online (Sandbox Code Playgroud)
小智 1
你可能想尝试这个:
self.hcdr3_length_combo.bell(displayof=1)
但不确定它应该是 1 还是 0...如果它不起作用,可能包含的小部件会发出声音。可能也想将其应用到父窗口小部件。我对 python 2.7 不熟悉,当我使用 python3 稍加修改时,它不会发出声音。
通常,当您找不到特定小部件的选项时,您可以在常规小部件选项中找到某些内容。只需搜索“tkinter 小部件选项”,您就会找到类似的地方: https: //effbot.org/tkinterbook/widget.htm
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |