飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3136|回复: 5

GUI界面之动态地获取用户选中的选项内容

[复制链接]
  • TA的每日心情
    开心
    2024-5-27 23:24
  • 签到天数: 300 天

    [LV.8]以坛为家I

    发表于 2022-12-4 18:33:28 | 显示全部楼层 |阅读模式
    本帖最后由 paypojie 于 2022-12-4 18:35 编辑

    使用StringVar() 方法动态地获取用户光标选中的项目的内容

    思路以及仿照来源截图 因为是GIF的格式 不支持的图片类型 GIF图片地址    http://c.biancheng.net/uploads/allimg/220105/110919A92-3.gif

    屏幕截图_20221203_190830.png



    本人仿写的截图

    屏幕截图_20221203_191339.png


    设计思路

    根据截图仿照一个功能差不多的界面

    导入相关模块 tkinter和messagebox
    创建主窗口
    主窗口图标和标题就不弄了 设置主窗口的大小
    创建一个label控件 用来显示在主窗口的内容 内容是一个动态字符串 内容由鼠标光标选中的项目决定
    创建一个函数 该函数绑定之后创建的按钮控件
    创建按钮控件 按钮与函数相关联点击按钮执行函数
    创建列表框 设置列表框中的值 然后再将一个列表中所有的值插入到列表框中
    显示主窗口



    本人源码
    [Python] 纯文本查看 复制代码
    import tkinter as tk
    from tkinter import messagebox
    
    win = tk.Tk()
    
    win.geometry('400x200+300+200')
    
    # 创建一个动态字符串 该动态字符串绑定接下来创建的label控件 用来获取或者更改控件的值
    var1 = tk.StringVar()
    lab1 = tk.Label(win,bg='gray',font=('微软雅黑,20'),width=20,textvariable=var1)
    lab1.pack()
    
    # 定义一个函数
    def click_button():
        try:
            # 获取之后要创建的列表框控件的值 get()方法需要传入索引 curselection()方法可以返回用户光标选中的项目的的索引
            lbr = lb.get(lb.curselection())
            # 之前定义好的动态字符串设置值为获取到的值
            var1.set(lbr)
    
        except Exception as e:
            e = '发现一个错误'
            # 弹出一个错误提示的弹窗
            messagebox.showwarning(e,'未选中任何内容')
    
    # 创建一个按钮 绑定之前定义的函数
    bt = tk.Button(win,text='获取当前选项',command=click_button)
    bt.pack()
    
    # 创建另一个动态字符串对象 将动态字符串对象的值设置为一个元组
    var2 = tk.StringVar()
    var2.set(("C语言辅导班", "Python答疑辅导", "Java答疑辅导", "C++辅导"))
    
    # 创建一个列表框 将列表框的值设置为之前的定义好的var2变量
    lb = tk.Listbox(win,height=6,listvariable=var2)
    lb.pack()
    
    # 用for循环将值插入到列表框控件
    item = ["C", "Java", "Python", "C#", "Golang", "Runby"]
    for i in item:
        lb.insert('end',i)
    
    win.mainloop()
    

    GUI界面之动态地获取用户选中的选项内容
    https://www.52pojie.cn/thread-1722153-1-1.html
    (出处: 吾爱破解论坛)




    PYG19周年生日快乐!
  • TA的每日心情
    难过
    前天 22:42
  • 签到天数: 1226 天

    [LV.10]以坛为家III

    发表于 2022-12-5 20:42:48 | 显示全部楼层
    点赞支持老师原创!

    评分

    参与人数 1威望 +1 收起 理由
    心妍 + 1 点错了

    查看全部评分

    PYG19周年生日快乐!
    回复 支持 0 反对 1

    使用道具 举报

  • TA的每日心情
    无聊
    前天 09:43
  • 签到天数: 694 天

    [LV.9]以坛为家II

    发表于 2022-12-4 21:03:18 | 显示全部楼层

    感谢楼主分享
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    难过
    6 天前
  • 签到天数: 661 天

    [LV.9]以坛为家II

    发表于 2022-12-4 21:30:23 | 显示全部楼层
    过来学习,多谢!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-27 23:24
  • 签到天数: 300 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-12-4 23:27:39 | 显示全部楼层
    乐活 发表于 2022-12-4 21:30
    过来学习,多谢!


    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-27 23:24
  • 签到天数: 300 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-12-5 23:25:09 | 显示全部楼层
    xyzjxlf 发表于 2022-12-5 20:42
    点赞支持老师原创!

    不好意思哈。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表