我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3 tkinter如何绑定事

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3 tkinter如何绑定事

一、目的

在上一篇《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文件,自动运行脚本,出现输入信息界面。秀秀界面,如下截图:
    这里写图片描述
    这里写图片描述

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3 tkinter如何绑定事

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3 tkinter如何绑定事

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

jquery事件如何绑定

本文小编为大家详细介绍“jquery事件如何绑定”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery事件如何绑定”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、bind()bing()用来绑定事件,例如
2023-06-29

jQuery如何绑定多个事件?

jQuery提供便捷的方式绑定多个事件到单个元素,使用语法:$(selector).on(events,data,handler)。委托技术可优化处理大量元素,使用语法:$(parentSelector).on(events,childSelector,data,handler)。事件命名空间允许区分相同事件类型的处理程序,语法为:$(selector).on(events.namespace,data,handler)。解除事件绑定使用语法:$(selector).off(events,handler)
jQuery如何绑定多个事件?
2024-04-08

jQuery如何绑定鼠标事件?

jQuery绑定鼠标事件指南本文探讨jQuery绑定鼠标事件的方法,包括单击、双击、悬停和鼠标移动。它提供了详细的语法和示例,涵盖了事件对象和事件委托的用法。了解这些方法和技术对于创建交互式和响应式的用户界面至关重要。
jQuery如何绑定鼠标事件?
2024-04-08

jQuery如何绑定键盘事件?

jQuery键盘事件指南jQuery提供了高效便捷的方法来处理键盘事件。使用key()事件可监听所有按键,而keydown()和keyup()事件则可分别监听按下和松开按键。通过检查event.keyCode,可以捕获特定按键。调用event.preventDefault()可防止默认行为。jQuery还支持组合事件和快捷键,使用shortcut()插件可轻松绑定快捷键。最佳实践包括避免过度绑定事件、使用事件委托、仅在需要时阻止默认行为并使用事件聚合技术。
jQuery如何绑定键盘事件?
2024-04-08

jQuery如何绑定滚动事件?

jQuery滚动事件使用jQuery绑定滚动事件,可以在页面滚动时触发特定操作。语法为$(window).on("scroll",function(){...})。事件处理程序函数接收一个对象,包含滚动位置和触发元素等信息。常见的操作包括加载更多内容、切换菜单栏和触发动画。通过$(window).off("scroll")可解除绑定滚动事件。实例演示了无限滚动,在滚动到页面底部时加载更多内容。最佳实践包括避免执行耗时操作、清理事件监听器和使用事件委托。
jQuery如何绑定滚动事件?
2024-04-07

jQuery如何绑定停止动画事件?

jQuery绑定停止动画事件指南jQuery的.stop()方法可停止进行中的动画。通过绑定.stop()事件,可以在指定条件下自动停止动画,增强动画控制。语法为$(selector).stop([clearQueue],[gotoEnd]),其中clearQueue指定是否清除动画队列,gotoEnd指定是否跳转到结束状态。要绑定.stop()事件,使用jQuery的.on()方法:$(selector).on("animationstop",function(){代码});。该事件会在动画停止时触发。
jQuery如何绑定停止动画事件?
2024-04-08

jquery如何绑定标签点击事件

要绑定标签的点击事件,可以使用jQuery的click()函数。以下是一个示例,演示如何绑定一个按钮的点击事件:HTML代码:```html点击我```JavaScript代码:```javascript$(document).ready(
2023-08-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录