python调用菜单响应事件_tkinter菜单能发送调用它们的事件吗?
下面是一個彈出菜單命令,我想發送事件數據通過。我想要它的x和y數據的事件,這樣我就知道ttk樣式的treeview(被用作表)的哪個單元格要操作。目前它稱之為self.toggle_sort_bool“方法,但我希望它在結尾調用函數”self.sort\u孩子(event,curütu treeüu children),“但不要這樣做,因為我需要知道在這里傳遞/接收事件。注:我知道發送是自動的,但接收不是。我是不是忽略了什么?在self.heading_popup_menu = tk.Menu(self.treeview, tearoff=0)
self.heading_popup_menu.add_command(label="Reverse Sort", command=self.toggle_sort_bool)
在這里,右鍵單擊ttk樣式的treeview,事件的旅程就開始了。在
^{pr2}$
事件的x_根和y_根被發送到tk_彈出窗口。我是否應該/可以超載發送整個事件?看起來根目錄中事件的x和y被發送到告訴彈出窗口的位置…彈出窗口。在def pop_up_right_click(self, event):
try:
self.heading_popup_menu.tk_popup(event.x_root, event.y_root, 0)
finally:
self.heading_popup_menu.grab_release()
這是我想從菜單命令調用的函數。在def sort_children(self, event, cur_tree_children):
region = self.treeview.identify("region", event.x, event.y)
if region == "heading":
#get column number
col = self.treeview.identify_column(event.x)
col = int(re.sub('\D', '', col))
col_names = cur_tree_children.pop(0)
cur_tree_children.sort(reverse=self.reverse_sort_bool.get(), key=lambda tup: self.sort_disparate_types(tup[col-1])) #toggle reverse somehow
cur_tree_children.insert(0, col_names)
self.depopulate_tree()
self.populate_tree()
可以通過菜單發送事件嗎?我很困惑,因為沒有更好的術語,事件在通過右鍵單擊彈出菜單調用函數時是多么的脫節。雖然這都是一個大型GUI類的一部分,但我不想使用類實例變量來傳遞目標單元數據,因為我認為這是一種混亂和糟糕的做法,因此應該盡可能避免。在
注:如果我有足夠的聲譽,我會做布麗亞諾克利的標簽,然后貼在下面。在
總結
以上是生活随笔為你收集整理的python调用菜单响应事件_tkinter菜单能发送调用它们的事件吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PhoneGap/Cordova And
- 下一篇: 定时跑视图往另外一张表添加数据_程序猿删