python 窗口更新_pythontkinter更新文本窗口
所以我把这一切都搞错了。因为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更新文本窗口相关推荐
- 怎样通过FineReader 的“文本”窗口检查文本
2019独角兽企业重金招聘Python工程师标准>>> 完成 OCR 过程后,文本窗口中即会显示已识别文本以便进行查看与编辑.将会突出显示低置信度字符,因此可以轻松找到 OCR 错误 ...
- layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)
最近有个项目使用Layui框架进行后端系统的界面搭建,其中Layui框架中的Layer组件在项目中会用得非常多.且有些功能会遇到子窗口完成数据的提交后,进行关闭同时会刷新父窗口的数据,所以此文章分享一 ...
- gdb -iex_如何使用IEX Cloud,Matplotlib和AWS在Python中创建自动更新数据可视化
gdb -iex Python is an excellent programming language for creating data visualizations. Python是用于创建数据 ...
- python的窗口处理模块_Python tkinter模块弹出窗口及传值回到主窗口操作详解
本文实例讲述了Python tkinter模块弹出窗口及传值回到主窗口操作.分享给大家供大家参考,具体如下: 有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置.有两种选择 一.标准窗口 如果只 ...
- Python tkinter教程-01:创建窗口
Python tkinter教程-01:创建窗口 文章目录 0 准备工作 1 创建空白窗体 2 窗口标题 3 窗口大小与位置 4 锁定窗口大小 5 窗口图标 6 隐藏与显示窗口 其它 0 准备工作 要 ...
- python PyQt5中文教程☞【第二节】PyQt5基本功能(创建窗口、应用程序图标、显示提示语、通过按钮关闭窗口、消息框(关闭窗口确认框)、窗口显示在屏幕中间【居中显示】)
引用文章:http://code.py40.com/pyqt5/ 文章目录 简单的例子:创建一个小窗口 应用程序的图标 显示提示语 通过按钮关闭窗口 消息框(关闭窗口确认框) 窗口显示在屏幕的中间[居 ...
- python数据库更新消息提醒_用Python实现校园通知更新提醒功能
前言 这个项目实已经在一个月前已经完成了,一直都想写一篇博客来总结这个过程中遇到的一些问题.但最近一个月来都比较忙,所以一直拖到了现在. 首先说说起因吧,我没事的时候,总喜欢依次点开学校主页.教务处. ...
- python窗口截图_Python 脚本自动窗口截图
利用Python自带的win32api和win32con.win32gui等模块,我们能执行许多windows下的自动化操作.比如两个窗口的自动点击操作,从软件中的窗口复制文本到txt中,甚至是截图操 ...
- 让python执行完停在解释器窗口
让python执行完停在解释器窗口 文章目录: 一.windows让批处理文件运行完成后不关闭窗口 二.让python执行完停在解释器窗口 我是在windows里写入的一个执行python脚本的批处理 ...
- 太赞了!《Python知识手册》更新到v2.2版
"种一棵树,最好的时间是十年前,其次是现在." 一.前言 大家好,今天给大家推荐我的一位好朋友,公众号「Python数据之道」号主 Lemon . 从 2017 年开始,Lemon ...
最新文章
- 齐鲁师范学院计算机专业在那个校区,齐鲁师范学院有几个校区及校区地址 哪个校区最好...
- 5种Python逐行读取文件的方式
- Nginx的配置实例(反向代理准备工作)
- CSS3 选择器总结(表格版)
- java treelist 排序_一个很好的Java排序列表
- 热量的传递 —— 热辐射
- clr20r3 程序终止的几种解决方案_IT外包桌面解决方案——不慌,蓝屏而已
- 【更新】互联网公司可投之参考
- 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
- matlab 图像范围,Matlab对数范围colorbar图像c
- 「缠师课后回复精选」第14课: 喝茅台的高潮程序!
- 讯飞输入法 语音识别功能 台式机设置
- IntelliJ IDEA—SVN的配置及使用
- 网络安全从入门到精通(第三章) 信息收集
- 年底啦,人力成本预算怎么做?
- MeshLab相关纹理贴图
- 软盘为什么没人用?器械硬盘的祖师爷竟是它!
- HTML5期末大作业 基于HTML+CSS+JavaScript学校官网首页(实训素材)
- jfreechart 备份文件
- 【电商】电商后台设计—优惠券