返回顶部
首页 > 资讯 > 后端开发 > Python >python3 tkinter如何绑定事
  • 767
分享到

python3 tkinter如何绑定事

绑定tkinter 2023-01-31 01:01:35 767人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一、目的 在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是用tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格。 二、

一、目的

在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是用tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格。

二、tkinter安装说明

python3.5版本,tkinter是内置模块,无需另外进行安装。使用tkinter,只要 import tkinter 。

三、思路

  1. 整理原先写好的自动生成记账记录表脚本,把脚本封装成一个函数A。
  2. 用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 实现自动生成入账记录表》的代码稍微整理封装一下就能被调用。

五、总结

  1. 针对tkinter模块,大部分都是看python官网文档和各种相关博客现学现用的,很多知识点可能我也了解的不透彻。针对界面需要输入开始时间和结束时间的参数,本想着弄一个日历插件,让使用者选择时间,但是看了下至少要再弄2个事件:其中一个是点击按钮触发打开日历事件;另外一个就是选择日期触发时间指传递事件。最后想了还是用最简单的方法,用insert()方法给开始时间和结束时间都设置了一个默认值,用户可在默认值上直接修改时间,这样也方便用户使用。
  2. 双击写好的aa.bat文件,自动运行脚本,出现输入信息界面。秀秀界面,如下截图:
    这里写图片描述
    这里写图片描述

--结束END--

本文标题: python3 tkinter如何绑定事

本文链接: https://lsjlt.com/news/184555.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python3 tkinter如何绑定事
    一、目的 在上一篇《python3 实现自动生成入账记录表》说到通过编辑bat文件进行参数的输入不是很方便,本篇就是用tkinter模块制作输入信息界面,输入完成点击’ok’键,触发写好的脚本,使得自动生成入款对账记录表格。 二、...
    99+
    2023-01-31
    绑定 tkinter
  • jquery如何绑定事件
    jquery中绑定事件的方法有:1.使用on()函数绑定事件;2.使用bind()函数绑定事件;3.使用live()函数绑定事件;4.使用delegate()函数绑定事件;jquery中绑定事件的方法有以下几种使用on()函数绑定事件$(&...
    99+
    2024-04-02
  • jquery事件如何绑定
    本文小编为大家详细介绍“jquery事件如何绑定”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery事件如何绑定”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、bind()bing()用来绑定事件,例如...
    99+
    2023-06-29
  • jQuery如何绑定enter事件
    这篇文章主要为大家展示了“jQuery如何绑定enter事件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何绑定enter事件”这篇文章吧。&nb...
    99+
    2024-04-02
  • javascript如何实现事件绑定
    小编给大家分享一下javascript如何实现事件绑定,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • jquery如何绑定悬浮事件
    在jquery中使用mouseover()方法绑定悬浮事件:1.新建html项目,引入jquery;2.创建div标签,设置id属性;3.通过id获取标签对象,使用mouseover()方法绑定鼠标悬浮事件;4.使用css()方法设置鼠标悬...
    99+
    2024-04-02
  • jQuery如何绑定多个事件?
    ...
    99+
    2024-04-02
  • jQuery如何绑定滚动事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定滚动事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery绑定滚动事件 jQuery提供了一个简便的方法来绑定滚动事件,允许您在滚动页面或特定元素...
    99+
    2024-04-02
  • jQuery如何绑定鼠标事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定鼠标事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 通过jQuery绑定鼠标事件 jQuery提供了多种方法来绑定鼠标事件,包括: $(selec...
    99+
    2024-04-02
  • jQuery如何绑定键盘事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定键盘事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery绑定键盘事件 导言 jQuery提供了一种简便的方法来绑定键盘事件,允许开发者在用户按下...
    99+
    2024-04-02
  • Cpage.js如何给组件绑定事件
    这篇文章主要介绍了Cpage.js如何给组件绑定事件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Cpage.js是一款轻量级的Mvvm框架...
    99+
    2024-04-02
  • jquery中如何对事件进行绑定和解绑
    小编给大家分享一下jquery中如何对事件进行绑定和解绑,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jQuery事件绑定和解绑...
    99+
    2024-04-02
  • jquery如何取消on()绑定的事件
    这篇文章主要讲解了“jquery如何取消on()绑定的事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何取消on()绑定的事件”吧! ...
    99+
    2024-04-02
  • Vue事件处理函数如何绑定
    这篇文章主要介绍“Vue事件处理函数如何绑定”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue事件处理函数如何绑定”文章能帮助大家解决问题。在 JS 中「事件」是不需要绑定的,浏览器自带了许多的事...
    99+
    2023-07-05
  • jquery如何绑定标签点击事件
    要绑定标签的点击事件,可以使用jQuery的click()函数。以下是一个示例,演示如何绑定一个按钮的点击事件:HTML代码:```...
    99+
    2023-08-08
    jquery
  • jQuery如何绑定完成动画事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定完成动画事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 绑定完成动画事件 动画事件概述 jQuery 提供了多种动画方法,用于创建动态、...
    99+
    2024-04-02
  • jQuery如何绑定失败动画事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定失败动画事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery绑定失败动画事件 jQuery提供了多种方法来绑定自定义事件,包括动画事件。失败动画...
    99+
    2024-04-02
  • jQuery如何绑定停止动画事件?
    这篇文章将为大家详细讲解有关jQuery如何绑定停止动画事件?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 绑定停止动画事件 jQuery 提供了多种方法来绑定停止动画事件。在选择合适的方法...
    99+
    2024-04-02
  • js中如何使用事件on动态绑定数据以及绑定多个事件
    这篇文章将为大家详细讲解有关js中如何使用事件on动态绑定数据以及绑定多个事件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.on('clcik')与$...
    99+
    2024-04-02
  • Angularjs如何实现键盘事件的绑定
    这篇文章主要介绍了Angularjs如何实现键盘事件的绑定,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法一:ng内置指令<butt...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作