python3 tkinter如何绑定事件
来源:互联网 发布:站长工具源码 编辑:程序博客网 时间:2024/06/06 20:08
一、目的
在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是用tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格。
二、tkinter安装说明
python3.5版本,tkinter是内置模块,无需另外进行安装。使用tkinter,只要 import tkinter 。
三、思路
- 整理原先写好的自动生成记账记录表脚本,把脚本封装成一个函数A。
- 用tkinter制作一个信息输入界面,输入商户编号、开始时间和结束时间,点击OK键触发参数传入到已封装好的函数A,并自动生成入款对账记录表。
四、附上代码
- tkinter绑定自动生成入账记录表格事件,代码如下:
import tkinter as tk
import time,datetime
from tkinter import *
import tkinter.messagebox
from oracle_ss import get_oracle_data
/#运行的python文件和需要导入的python文件在一个目录的话,则不需要写包名 orui.oracle_ss import ..)
class MainWindow:
def buttonListener1(self, event):#创建事件,调用另外一个函数的功能,生成表格 agent_no=self.text_agentno.get(1.0, tk.END)#获取text_agentno文本框里的值 stime = self.text_stime.get(1.0, tk.END) etime = self.text_etime.get(1.0, tk.END) #get_oracle_date()就是自己封装好的自动生成入账记录的函数,这里调用这个函数就可以 get_oracle_data(agent_no,stime,etime) tk.messagebox.showinfo("messagebox", "云+入账对账记录表格已自动生成")def buttonListener2(self, event):#创建第二个事件,退出程序 exit()def __init__(self): #创建Frame self.frame = Tk() # 设置Frame这个矩形区域的标题 self.frame.title('欢迎使用,请输入信息:') #向frame中添加3个label self.label_agentno = Label(self.frame, text="商户编号:",fg="blue",font="Verdana 10 bold") self.label_stime = Label(self.frame, text="开始时间:",fg="blue",font="Verdana 10 bold") self.label_etime = Label(self.frame, text="结束时间:",fg="blue",font="Verdana 10 bold") self.text_agentno = Text(self.frame, height="1", width=30) #商户编号设置默认值为20000xxxxxxx self.text_agentno.insert(1.0,'20000xxxxxxx') self.text_stime = Text(self.frame, height="1", width=30) now_time=datetime.datetime.now() yes_time=now_time+datetime.timedelta(days=-1) #开始时间设置默认值为前一天年月日0时0分0秒 self.text_stime.insert(1.0,yes_time.strftime("%Y-%m-%d")+" 00:00:00") self.text_etime = Text(self.frame, height="1", width=30) #结束时间设置默认值为当前时间年月日0时0分0秒 self.text_etime.insert(1.0,now_time.strftime("%Y-%m-%d")+" 00:00:00") #使用grid来布局组件,指定组件放置在什么位置 self.label_agentno.grid(row=0, column=0) self.label_stime.grid(row=1, column=0) self.label_etime.grid(row=2, column=0) self.button_ok = Button(self.frame, text="ok", width=10) self.button_cancel = Button(self.frame, text="cancel", width=10) #使用grid设置各个label位置 self.text_agentno.grid(row=0, column=1) self.text_stime.grid(row=1, column=1) self.text_etime.grid(row=2, column=1) self.button_ok.grid(row=3, column=0) self.button_cancel.grid(row=3, column=1) self.button_ok.bind("<Button-1>",self.buttonListener1) #绑定事件—点击OK键,tkinter自动捕获并触发buttonListener1事件,生成表格 self.button_cancel.bind("<Button-1>",self.buttonListener2) #绑定事件—点击取消键,tkinter自动捕获并触发buttonListener2事件,退出程序 self.frame.mainloop()
frame = MainWindow()
input(“Enter the any press to exit”)
- get_oracle_data()函数的代码,这里不再重复贴出来。只要对上一篇《python3.5 实现自动生成入账记录表》的代码稍微整理封装一下就能被调用。
五、总结
- 针对tkinter模块,大部分都是看python官网文档和各种相关博客现学现用的,很多知识点可能我也了解的不透彻。针对界面需要输入开始时间和结束时间的参数,本想着弄一个日历插件,让使用者选择时间,但是看了下至少要再弄2个事件:其中一个是点击按钮触发打开日历事件;另外一个就是选择日期触发时间指传递事件。最后想了还是用最简单的方法,用insert()方法给开始时间和结束时间都设置了一个默认值,用户可在默认值上直接修改时间,这样也方便用户使用。
- 双击写好的aa.bat文件,自动运行脚本,出现输入信息界面。秀秀界面,如下截图:
0 0
- python3 tkinter如何绑定事件
- Tkinter事件绑定,参数如何传递
- Tkinter -- 事件与绑定
- python tkinter教程-事件绑定
- 小白学tkinter(事件之(事件绑定))
- tkinter绑定鼠标滚轮滚动事件
- [Tkinter 教程15] event 事件绑定
- tkinter: 事件 & 绑定 (Events and Bindings)
- 如何解决Linux下Python3.5无法使用tkinter
- EventDelegate---如何绑定事件
- python3 tkinter教程
- Python3 Tkinter::Listbox 进阶
- Python3 Tkinter 示例
- python3.6 Tkinter 入门
- Python3 tkinter 界面布局
- Python3安装tkinter
- python3+matplotlib+tkinter
- python3 tkinter的入门
- Oracle之rollUp函数
- android设备使用usb串口传输数据
- Spring学习心得(24)-- Spring事务管理(详解+实例)
- 机器学习之期望最大算法(EM算法)
- 成功搭建 Jenkins+ant+jmeter 进行接口自动化测试分享
- python3 tkinter如何绑定事件
- unit15 系统虚拟机管理
- MySQL CRASH COURSE命令总结(第四章检索数据)
- Window TensorFlow(gpu)安装及坑的解决
- 定时任务执行两次
- Struts2:strut2的工作原理
- tsung转载整理 笔记1
- 关于反编译后显示盗版
- node+express 项目中ejs模板的使用