吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1254|回复: 6
收起左侧

[学习记录] GUI界面之动态地获取用户选中的选项内容

[复制链接]
甜萝 发表于 2022-12-3 19:17
本帖最后由 paypojie 于 2022-12-3 19:24 编辑

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

思路以及仿照来源截图 因为是GIF的格式 不支持的图片类型 GIF图片地址
image.png


本人仿写的截图

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



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

woshicyb 发表于 2022-12-3 19:47
谢谢分享
lfordch 发表于 2022-12-3 21:21
 楼主| 甜萝 发表于 2022-12-3 23:03
 楼主| 甜萝 发表于 2022-12-3 23:04
lfordch 发表于 2022-12-3 21:21
感谢分享,学习一下

不用谢 哈哈
风吟逐流 发表于 2022-12-3 23:21

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

想看到精彩的评论
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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