Tkinter GUI应用示例:按钮与滚动条交互

需积分: 12 0 下载量 18 浏览量 更新于2024-08-05 收藏 37KB DOCX 举报
"该文档包含了两个使用Python的tkinter库创建GUI界面的案例。第一个案例展示了如何创建一个简单的窗口,包含一个输入框和一个按钮,按钮点击后可以获取并打印输入框的内容。第二个案例则演示了如何创建一个带有滚动条的文本框,允许用户查看和编辑大量文本内容。" 在Python的GUI编程中,tkinter是一个非常常用且基础的库,它允许开发者创建交互式的图形用户界面。以下是对这两个案例的详细解析: **案例一:按钮获取输入框的内容** 1. **导入模块**:首先,我们导入`tkinter`模块,这是Python标准库中的GUI库,用于创建图形界面。 2. **创建主窗口**:通过`tkinter.Tk()`创建一个主窗口,并设置其标题为'重庆文理学院',用`win.title()`方法实现。然后,使用`win.geometry()`设定窗口的大小和位置。 3. **定义函数**:`def func():`定义了一个函数,这个函数将获取并打印输入框的内容。在本例中,函数内部通过`a.get()`获取输入框的值。 4. **创建变量**:`a=tkinter.Variable()`创建了一个绑定变量`a`,用于存储输入框的值。 5. **创建输入框**:`entry=tkinter.Entry(win,textvariable=a)`创建了一个输入框,其中`textvariable`参数绑定了变量`a`,使得输入框的值与`a`同步。 6. **设置默认值**:`a.set('这里是输入狂')`用于设置输入框的初始显示内容。 7. **创建按钮**:`button=tkinter.Button(win,text='按钮',command=func)`创建了一个按钮,点击时会调用`func`函数。 8. **布局组件**:`entry.pack()`和`button.pack()`将输入框和按钮添加到窗口中,`pack()`方法负责管理组件的布局。 9. **启动消息循环**:`win.mainloop()`启动Tkinter的消息循环,使程序开始响应用户的操作。 **案例二:带滚动条的文本** 1. **创建主窗口**:同样创建一个主窗口,并设置标题和大小。 2. **创建滚动条**:`scroll=tkinter.Scrollbar()`创建一个滚动条对象。 3. **创建文本框**:`text=tkinter.Text(win,width='100',height='400')`创建一个可以输入和显示文本的文本框,设置了宽度和高度。 4. **布局滚动条**:`scroll.pack(side=tkinter.RIGHT,fill=tkinter.Y)`将滚动条放在文本框右侧,并填满垂直空间。 5. **布局文本框**:`text.pack(side=tkinter.LEFT,fill=tkinter.X)`将文本框放在左侧,并填满水平空间。 6. **配置滚动条与文本框的关联**:`scroll.config(command=text.yview)`和`text.config(yscrollcommand=scroll.set)`设置滚动条与文本框之间的交互,当滚动条移动时,文本框内容也会相应滚动。 7. **填充文本**:在字符串中插入大量文本,以展示文本框的阅读和编辑功能。 这两个案例展示了tkinter的基础使用,包括创建窗口、定义事件处理函数、添加控件、布局管理以及控件间的交互。通过这些基础,开发者可以进一步构建复杂的GUI应用程序。

import tkinter import tkinter.messagebox def Button_Click(btn): btn_Label = tkinter.Entry(mainUI) btn_Label.insert(tkinter.END,btn) btn_Label.place(x=45,y=75,width=40,height=20) mainUI = tkinter.Tk() mainUI.title('计算器') mainUI.geometry('300x280') #输入数字的两个文本框 num1_Label = tkinter.Label(mainUI,text='number 1 :',justify=tkinter.LEFT,anchor='e') num1_Label.place(x=25,y=20,width=80,height=30) num2_Label = tkinter.Label(mainUI,text='number 2 :',justify=tkinter.LEFT,anchor='e') num2_Label.place(x=25,y=125,width=80,height=30) num1_Var = tkinter.StringVar(mainUI,value='') num2_Var = tkinter.StringVar(mainUI,value='') num1_Entry = tkinter.Entry(mainUI,width=100,textvariable=num1_Var) num1_Entry.place(x=110,y=25,width=140,height=20) num2_Entry = tkinter.Entry(mainUI,width=100,textvariable=num2_Var) num2_Entry.place(x=110,y=130,width=140,height=20) #创建加减乘除按钮及显示文本框 sum_Button = tkinter.Button(mainUI,text='+',command=lambda :Button_Click('+')) sum_Button.place(x=100,y=75,width=30,height=20) min_Button = tkinter.Button(mainUI,text='-',command=lambda :Button_Click('-')) min_Button.place(x=145,y=75,width=30,height=20) mul_Button = tkinter.Button(mainUI,text='x',command=lambda :Button_Click('x')) mul_Button.place(x=190,y=75,width=30,height=20) div_Button = tkinter.Button(mainUI,text='/',command=lambda :Button_Click('/')) div_Button.place(x=235,y=75,width=30,height=20) #创建结果框以及计算按钮 cal_Label = tkinter.Label(mainUI,text='result :',justify=tkinter.LEFT,anchor='e') cal_Label.place(x=25,y=175,width=80,height=20) cal_Entry = tkinter.Entry(mainUI) cal_Entry.place(x=110,y=175,width=80,height=20) cal_Button = tkinter.Button(mainUI,text='Calculate') cal_Button.place(x=110,y=225,width=80,height=20) mainUI.mainloop()完善此代码中Calculate按钮被按下后进行的计算及输出操作

2023-05-30 上传