所以我把这一切都搞错了。因为Tk是被驱动的,它总是会进入那个循环,而不是给我我我所期望的。我通过从头开始并使用.after方法修复了这个问题。下面是我的修改。总的来说,对于python和GUI来说是一次非常好的学习体验。在from sys import argv

import tkinter as tk

text = tk.Text

current_line = 0

file_lines = []

pause_status = False

def pause_updates():

global pause_status

if pause_status:

pause_status = False

root.title("Pytail v1.0 - Watching File")

else:

pause_status = True

root.title("Pytail v1.0 - Paused")

def get_current_line_count(lines):

lines = lines.count("\n")

return lines

def get_file(tail_name):

file = open(tail_name, 'r')

lines = file.read()

file.close()

return lines

def print_lines(begin_line):

global text

global file_lines

text.config(state=tk.NORMAL)

split_lines = file_lines.split("\n")

for num in range(begin_line, len(split_lines)-1):

text.insert("end", (split_lines[num])+"\n")

text.yview(tk.END)

text.config(state=tk.DISABLED)

text.update()

def update_window():

try:

global current_line

global file_lines

global pause_status

if not pause_status:

file_lines = get_file(argv[1])

new_lines = get_current_line_count(file_lines)

if new_lines > current_line:

print_lines(current_line)

current_line = new_lines

except (KeyboardInterrupt, SystemExit):

print("Now Exiting.....")

root.after(1000, update_window)

def create_interface():

global text

global file_lines

frame = tk.Frame(root, background="black")

frame.place(x=10, y=10)

frame2 = tk.Frame(root)

scr = tk.Scrollbar(frame)

text = tk.Text(frame, background="black", fg="green")

text.insert("1.0", "Beginning of Tail File" + "\n")

scr.config(command=text.yview)

scr.pack(side="right", fill="y", expand=False)

text.pack(side="left", fill="both", expand=True)

frame.pack(side=tk.TOP, fill="both", expand=True)

frame2.pack(side="bottom", anchor="w")

pause = tk.Button(frame2, text="Pause", command=pause_updates)

pause.pack()

print_lines(0)

update_window()

def correct_args(argv):

if not len(argv) == 2:

return False

else:

return True

if correct_args(argv):

root = tk.Tk()

root.title("Pytail v1.0 - Watching File")

file_lines = get_file(argv[1])

current_line = get_current_line_count(file_lines)

create_interface()

root.mainloop()

python 窗口更新_pythontkinter更新文本窗口相关推荐

  1. 怎样通过FineReader 的“文本”窗口检查文本

    2019独角兽企业重金招聘Python工程师标准>>> 完成 OCR 过程后,文本窗口中即会显示已识别文本以便进行查看与编辑.将会突出显示低置信度字符,因此可以轻松找到 OCR 错误 ...

  2. layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)

    最近有个项目使用Layui框架进行后端系统的界面搭建,其中Layui框架中的Layer组件在项目中会用得非常多.且有些功能会遇到子窗口完成数据的提交后,进行关闭同时会刷新父窗口的数据,所以此文章分享一 ...

  3. gdb -iex_如何使用IEX Cloud,Matplotlib和AWS在Python中创建自动更新数据可视化

    gdb -iex Python is an excellent programming language for creating data visualizations. Python是用于创建数据 ...

  4. python的窗口处理模块_Python tkinter模块弹出窗口及传值回到主窗口操作详解

    本文实例讲述了Python tkinter模块弹出窗口及传值回到主窗口操作.分享给大家供大家参考,具体如下: 有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置.有两种选择 一.标准窗口 如果只 ...

  5. Python tkinter教程-01:创建窗口

    Python tkinter教程-01:创建窗口 文章目录 0 准备工作 1 创建空白窗体 2 窗口标题 3 窗口大小与位置 4 锁定窗口大小 5 窗口图标 6 隐藏与显示窗口 其它 0 准备工作 要 ...

  6. python PyQt5中文教程☞【第二节】PyQt5基本功能(创建窗口、应用程序图标、显示提示语、通过按钮关闭窗口、消息框(关闭窗口确认框)、窗口显示在屏幕中间【居中显示】)

    引用文章:http://code.py40.com/pyqt5/ 文章目录 简单的例子:创建一个小窗口 应用程序的图标 显示提示语 通过按钮关闭窗口 消息框(关闭窗口确认框) 窗口显示在屏幕的中间[居 ...

  7. python数据库更新消息提醒_用Python实现校园通知更新提醒功能

    前言 这个项目实已经在一个月前已经完成了,一直都想写一篇博客来总结这个过程中遇到的一些问题.但最近一个月来都比较忙,所以一直拖到了现在. 首先说说起因吧,我没事的时候,总喜欢依次点开学校主页.教务处. ...

  8. python窗口截图_Python 脚本自动窗口截图

    利用Python自带的win32api和win32con.win32gui等模块,我们能执行许多windows下的自动化操作.比如两个窗口的自动点击操作,从软件中的窗口复制文本到txt中,甚至是截图操 ...

  9. 让python执行完停在解释器窗口

    让python执行完停在解释器窗口 文章目录: 一.windows让批处理文件运行完成后不关闭窗口 二.让python执行完停在解释器窗口 我是在windows里写入的一个执行python脚本的批处理 ...

  10. 太赞了!《Python知识手册》更新到v2.2版

    "种一棵树,最好的时间是十年前,其次是现在." 一.前言 大家好,今天给大家推荐我的一位好朋友,公众号「Python数据之道」号主 Lemon . 从 2017 年开始,Lemon ...

最新文章

  1. 齐鲁师范学院计算机专业在那个校区,齐鲁师范学院有几个校区及校区地址 哪个校区最好...
  2. 5种Python逐行读取文件的方式
  3. Nginx的配置实例(反向代理准备工作)
  4. CSS3 选择器总结(表格版)
  5. java treelist 排序_一个很好的Java排序列表
  6. 热量的传递 —— 热辐射
  7. clr20r3 程序终止的几种解决方案_IT外包桌面解决方案——不慌,蓝屏而已
  8. 【更新】互联网公司可投之参考
  9. 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
  10. matlab 图像范围,Matlab对数范围colorbar图像c
  11. 「缠师课后回复精选」第14课: 喝茅台的高潮程序!
  12. 讯飞输入法 语音识别功能 台式机设置
  13. IntelliJ IDEA—SVN的配置及使用
  14. 网络安全从入门到精通(第三章) 信息收集
  15. 年底啦,人力成本预算怎么做?
  16. MeshLab相关纹理贴图
  17. 软盘为什么没人用?器械硬盘的祖师爷竟是它!
  18. HTML5期末大作业 基于HTML+CSS+JavaScript学校官网首页(实训素材)
  19. jfreechart 备份文件
  20. 【电商】电商后台设计—优惠券

热门文章

  1. win7 mysql 启动 问题
  2. gtShell - 为你常用的目录建立标签并快速跳转
  3. 安装Lync Server 2013
  4. dns服务器迁移方法简单说明
  5. TabLayout实现自定义标题栏目功能
  6. 多线程与NSTimer
  7. PHP处理数据为echarts多条折线图格式
  8. python pyquery 解析html数据
  9. PHP中的ZIP压缩与解压
  10. 做出产品不难,做好产品必须高手