mjchzhl 2022-04-08 22:38 采纳率: 44.4%
浏览 107
已结题

tkinter下拉列表选择选项后不让马上执行,要添加一个点击按钮事件再执行,而下拉选择的选项只做一个主程序的一个参数怎么实现

问题遇到的现象和发生背景

comboxlist.bind代码中选择列表值后马上执行了,想让选择后,在添加一个点击按钮的事件再执行,而列表的选择值作为主程序的一个输入参数,怎么实现,比如下列列表有数字1-10,十个数字,选择1后,在点击一个按钮继续执行程序,相当于1作为主程序某个参数

问题相关代码,请勿粘贴截图
import tkinter
from tkinter import ttk
from tkinter import *
from tkinter import messagebox
def go(*args):  # 处理事件,*args表示可变参数
    k = comboxlist.get()

win = tkinter.Tk()  # 构造窗体

comvalue = tkinter.StringVar()  # 窗体自带的文本,新建一个值
comboxlist = ttk.Combobox(win, textvariable=comvalue)  # 初始化
comboxlist["values"] = ("1", "2", "3", "4")
comboxlist.current(0)  # 选择第一个
comboxlist.bind("<<ComboboxSelected>>", go)
comboxlist.pack()
win.mainloop()  # 进入消息循环

我的臆想:
下拉列表选择→点击按钮→得出comboxlist.bind结果作为输入→主程序继续执行

运行结果及报错内容

我的解答思路和尝试过的方法

无,或者有没有其他简单的实现方法

我想要达到的结果

下拉菜单选择好之后不马上执行,而是再添加一个点击按钮事件再执行,而想要的是comboxlist.bind执行结果作为主程序的输入参数

  • 写回答

2条回答 默认 最新

  • 陈年椰子 2022-04-08 23:08
    关注

    那就列表不要绑定事件。
    按钮事件里取访问 下拉框 的值,再做处理即可

    import tkinter
    from tkinter import ttk
    from tkinter import *
    from tkinter import messagebox
    
    
    def go(*args):  # 处理事件,*args表示可变参数
        k = comboxlist.get()
        print("调用操作,参数",k)
    
    
    
    win = tkinter.Tk()  # 构造窗体
    
    comvalue = tkinter.StringVar()  # 窗体自带的文本,新建一个值
    comboxlist = ttk.Combobox(win, textvariable=comvalue)  # 初始化
    comboxlist["values"] = ("1", "2", "3", "4")
    comboxlist.current(0)  # 选择第一个
    comboxlist.pack()
    
    btn = tkinter.Button(win,text="操作")
    btn.bind('<Button-1>',func=go)
    btn.pack()
    # comboxlist.bind("<<ComboboxSelected>>", go)
    
    win.mainloop()  # 进入消息循环
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月8日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。