甜萝 发表于 2022-12-3 19:17

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

本帖最后由 paypojie 于 2022-12-3 19:24 编辑

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

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



本人仿写的截图




设计思路

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

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


本人源码

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()


woshicyb 发表于 2022-12-3 19:47

谢谢分享

lfordch 发表于 2022-12-3 21:21

感谢分享,学习一下{:301_975:}

甜萝 发表于 2022-12-3 23:03

woshicyb 发表于 2022-12-3 19:47
谢谢分享

不用谢 嘿嘿

甜萝 发表于 2022-12-3 23:04

lfordch 发表于 2022-12-3 21:21
感谢分享,学习一下

不用谢 哈哈 {:301_987:} {:301_987:}

风吟逐流 发表于 2022-12-3 23:21


感谢分享,学习一下

甜萝 发表于 2022-12-3 23:23

风吟逐流 发表于 2022-12-3 23:21
感谢分享,学习一下

想看到精彩的评论
页: [1]
查看完整版本: GUI界面之动态地获取用户选中的选项内容