深渊心岑@clown 2023-04-22 11:17 采纳率: 63.6%
浏览 16
已结题

关于python按钮控件的操作

首先,我写了个基于tk库的皮肤库的ui程序,包含一个文本框,一个按钮。
按钮设定为按一次就会像文本框插入一个单词,然后之后每插入一次单词就用逗号隔开。
我想要的结果是单词只能添加一次,并且第一次按下为添加,第二次按下为取消添加(也就是删掉该单词),那么该如何编写代码?

我的初步代码思路如下:

import ttkbootstrap as ttk
ck = ttk.Window(
        title="环境风景",
        size=(750, 600),  # 窗口的大小
        position=(600, 100),  # 窗口位置
        resizable=(False, False),  # 让窗口不可更改大小
        alpha=0.91,  # 窗口透明度
    )

show_text=ttk.Text(ck,width=70,height=4)
show_text.place(x=10,y=10)

def text_add():
    text1='sky'
    show_text.insert('insert',text1)
    show_text.insert('insert',',')

b1=ttk.Button(ck,text='天空',command=text_add)
b1.place(x=10,y=100)

ck.mainloop()

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-22 11:28
    关注

    基于Monster 组和GPT的调写:

    • 用一个字典来记录每个单词是否已经被添加过。当按钮被按下时,检查该单词是否已经在字典中,如果不在,则将其添加到文本框中,并将其添加到字典中;如果已经在字典中,则从文本框中删除该单词,并将其从字典中删除。
    
    import ttkbootstrap as ttk
    
    ck = ttk.Window(
        title="环境风景",
        size=(750, 600),  # 窗口的大小
        position=(600, 100),  # 窗口位置
        resizable=(False, False),  # 让窗口不可更改大小
        alpha=0.91,  # 窗口透明度
    )
    
    show_text = ttk.Text(ck, width=70, height=4)
    show_text.place(x=10, y=10)
    
    added_words = {}  # 用于记录已添加的单词
    
    def text_add():
        word = 'sky'
        if word not in added_words:
            show_text.insert('end', word+', ')
            added_words[word] = True
        else:
            start_pos = show_text.search(word, '1.0', 'end')
            end_pos = f"{start_pos}+{len(word)}c"
            show_text.delete(start_pos, end_pos)
            added_words.pop(word, None)
    
    b1 = ttk.Button(ck, text='天空', command=text_add)
    b1.place(x=10, y=100)
    
    ck.mainloop()
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月22日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法