我有一个问题,我正在尝试解决该问题,并使用下面的代码重现了该问题。
我遇到的问题是,我可以从主菜单项获取指定的命令,但是当级联菜单中包含相同的命令时,它似乎不会执行。
我不确定这是否与我的要求有关,我需要渲染按钮网格并为每个按钮附加一个上下文菜单。这是我设计的一些代码来演示这个问题:
import tkinter as tk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title('Tkinter Validation Demo')
self.create_widgets()
@staticmethod
def print_bg_color(button, button_id):
colour = button.cget('bg')
print(f'Button {button_id} colour is {colour}')
@staticmethod
def _context_menu(event: tk.Event = None, menu: tk.Menu = None):
menu.tk_popup(event.x_root, event.y_root)
def create_widgets(self):
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
for i in range(0, 7):
button = tk.Button(master=self, bg=colors[i], width=10, height=10)
button.grid(row=0, column=i)
context_menu = tk.Menu(button, tearoff=False)
# Add print option to main menu
context_menu.add_command(label="Print colour",
command=lambda btn=button, button_id=i: …
Run Code Online (Sandbox Code Playgroud) 如何使用 Oracle 和 Python 中的 cx_Oracle 模块确定选择列表中列的列数据类型。本质上是一种光标内省。
我见过需要根据表名查询 Oracle 数据字典的解决方案。但是,如果您需要编写动态执行 SQL 的代码,例如存储在文件中的 SQL,它连接两个或多个表,事情就会变得棘手。此方法允许您询问游标以及选择列表中的任何给定列,无论它源自哪个表或视图,从而确定该列的数据类型。