python tkinter 动态批量建立Widget时,combobox 或 entry传递参数问题
terminal_combobox.bind('<<ComboboxSelected>>', lambda event, arg=key_dict: self.terminal_select(key_dict=arg)) # 注意,传递参数方法
def terminal_select(self, key_dict, *args):
var = self.dict_widget[key_dict].get()
print(key_dict)
print(var)
以上代码 可以实现combobox传递参数 key_dict
reg_value_entry = ttk.Entry(small_frame, textvariable=reg_value_var, width=9, validate='focusout',
validatecommand=lambda args=key_dict: self.terminal_validate_text(args),
invalidcommand=lambda args=key_dict: self.input_warn(args)) # 地址
def terminal_validate_text(self, key_dict): # 文本检测
""" 根据Entry单行输入,查找数据库记录 """
entry_current = self.dict_var[key_dict]
print((key_dict, entry_current.get()))
var = self.dict_widget[key_dict].get()
if var.isdigit():
print("数字{}".format(var))
return True # 必须有
else:
print(var)
self.dict_widget[key_dict].delete(0, tk.END) # 删除原有内容文本
return False # 必须有
以上代码 可以实现Entry传递参数 key_dict

浙公网安备 33010602011771号