python中tkinter.set
时间: 2024-01-04 17:19:14 浏览: 223
在Python的tkinter库中,set()方法用于设置tkinter变量的值。这个方法可以用于设置字符串类型的变量值。下面是一个示例演示如何使用set()方法设置tkinter变量的值:
```python
import tkinter as tk
root = tk.Tk()
# 创建一个StringVar类型的变量
var = tk.StringVar()
# 设置变量的值
var.set("Hello, World!")
# 创建一个Label控件,显示变量的值
label = tk.Label(root, textvariable=var)
label.pack()
root.mainloop()
```
在这个示例中,我们首先导入tkinter库并创建一个根窗口。然后,我们创建一个StringVar类型的变量var,并使用set()方法将其值设置为"Hello, World!"。最后,我们创建一个Label控件,并将其textvariable属性设置为var,这样Label控件就会显示var的值。
相关问题
def addstudents(stuid,stuname,stusex,stuaddress,china,math,english): sqlstr="""insert into students(stuid,stuname,stusex,stuaddress,china,math,english) values(?,?,?,?,?,?,?)""" cursor.execute(sqlstr,(stuid,stuname,stusex,stuaddress,china,math,english)) cursor.commit() return stuid,stuname,stusex,stuaddress,china,math,english #添加学生信息的窗口 def windowadd(): window=tkinter.Toplevel() window.title("添加学生信息")#窗口名字 window.geometry("600x500")#窗口大小 #学号的标签和entry sid=tkinter.StringVar() sid.set("") lable1=tkinter.Label(window,text="学 号:",font=(20),width=25) lable1.place(x=40,y=50,anchor='nw') input1=tkinter.Entry(window,show=None,font=(20),textvariable=sid,width=25) input1.place(x=200,y=50,anchor='nw') sname=tkinter.StringVar() sname.set("") lable2=tkinter.Label(window,text="姓 名:",font=(20),width=25) lable2.place(x=40,y=100,anchor='nw') input2=tkinter.Entry(window,show=None,font=(20),textvariable=sname,width=25) input2.place(x=200, y=100, anchor='nw') ssex=tkinter.StringVar() ssex.set("") lable3=tkinter.Label(window,text="性 别:",font=(20),width=25) lable3.place(x=40,y=150,anchor='nw') input3=tkinter.Entry(window,show=None,font=(20),textvariable=ssex,width=25) input3.place(x=200, y=150, anchor='nw') saddress=tkinter.StringVar() saddress.set("") lable4=tkinter.Label(window,text="地 址:",font=(20),width=25) lable4.place(x=40,y=200,anchor='nw') input4=tkinter.Entry(window,show=None,font=(20),textvariable=saddress,width=25) input4.place(x=200, y=200, anchor='nw') schina=tkinter.StringVar() schina.set("") lable5=tkinter.Label(window,text="语 文:",font=(20),width=25) lable5.place(x=40,y=250,anchor='nw') input5=tkinter.Entry(window,show=None,font=(20),textvariable=schina,width=25) input5.place(x=200, y=250, anchor='nw') smath=tkinter.StringVar() smath.set("") lable6=tkinter.Label(window,text="数 学:",font=(20),width=25) lable6.place(x=40,y=300,anchor='nw') input6=tkinter.Entry(window,show=None,font=(20),textvariable=smath,width=25) input6.place(x=200, y=300, anchor='nw') seng=tkinter.StringVar() seng.set("") lable7=tkinter.Label(window,text="英 语:",font=(20),width=25) lable7.place(x=40,y=350,anchor='nw') input7=tkinter.Entry(window,show=None,font=(23),textvariable=seng,width=25) input7.place(x=200, y=350, anchor='nw') b_yes=tkinter.Button(window,text='确认',bg='blue',font=(20),command=lambda:addstudents(sid.get(),sname.get(),ssex.get(),saddress.get(),schina.get(),smath.get(),seng.get())) b_yes.place(x=70,y=420,anchor='nw') b_no=tkinter.Button(window,text="取消",bg='blue',font=(23),command=lambda :window.destroy()) b_no.place(x=400,y=420,anchor='nw') window.mainloop() 为什么会有 File "D:\pythonProject2\main.py", line 119, in <lambda> b_yes=tkinter.Button(window,text='确认',bg='blue',font=(20),command=lambda:addstudents(sid.get(),sname.get(),ssex.get(),saddress.get(),schina.get(),smath. TypeError: 'Button' object is not callable的错误
这个错误通常是因为你的Button对象名字和函数名相同所导致的,即你的Button名字是"addstudents",而你的函数名也是"addstudents"。在你的代码中,当你点击Button时,它会试图调用名为"addstudents"的Button对象,而不是调用你定义的函数。为了解决这个问题,你需要将Button的对象名修改为另一个不同的名字,比如'b_yes',这样就不会与函数名冲突了。
var2 = tkinter.StringVar() var2.set(ret) lb = tkinter.Listbox(root,listvariable=var2) lb.place(x=50,y=100,width=260,height=300)
这段代码使用了 Python 的 GUI 库 tkinter,其中:
1. `tkinter.StringVar()` 创建了一个 tkinter 变量,用于存储一个字符串类型的值。
2. `var2.set(ret)` 设置了 var2 变量的值为 ret,其中 ret 应该是一个字符串类型的列表。
3. `tkinter.Listbox()` 创建了一个列表框,其中 `listvariable=var2` 表示将列表框的值绑定到 var2 变量上。
4. `lb.place(x=50,y=100,width=260,height=300)` 将列表框放置在窗口中,其中 x、y 表示列表框的左上角坐标,width、height 表示列表框的宽度和高度。
综上所述,这段代码的作用是在 tkinter 窗口中创建一个列表框,将一个字符串类型的列表 ret 中的值显示在列表框中。列表框的值与 tkinter 变量 var2 绑定,当 var2 的值发生变化时,列表框的显示内容也会随之改变。
阅读全文