繁体   English   中英

Python tkinter GUI 列表框

[英]Python tkinter GUI listbox

我想禁用删除所选项目的 gui 应用程序上的删除按钮。 如果没有选择,按钮应该被禁用。 有什么办法可以做到吗? 生病在下面发布我的代码`

from tkinter import *
import tkinter
from tkinter import simpledialog
from tkinter import messagebox


def delete():
    if lb1.curselection():
        b= lb1.curselection()[0]
        lb1.delete(first=b,last=None)




B2=Button(root,text="Delete",command=delete)
B2.grid(column=8,row=5)  
k=lb1.curselection()
if k[0]==0:
    B2.config(state = DISABLED)
else:
    B2.config(state = NORMAL)

`

你可以after这里使用after方法,如下:

from tkinter import *
import tkinter
from tkinter import simpledialog
from tkinter import messagebox


def delete():
    if lb1.curselection():
        b= lb1.curselection()[0]
        lb1.delete(first=b,last=None)

def check_selection():
    k=lb1.curselection()
    if k:
        B2.config(state = NORMAL)
    else:
        B2.config(state = DISABLED)
    root.after(100, check_selection)

B2=Button(root,text="Delete",command=delete)
B2.grid(column=8,row=5)  

root.after(100, check_selection)

after方法将继续检查(每 100 毫秒)是否在列表框中进行了选择。

编辑

after方法中的值100可以更改为任何适合您的值。 请记住单位是ms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM