Tkinter 实现实时控制台输出

用Tkinter实现类似实时控制台输出的简单界面:
在这里插入图片描述
实现步骤如下:
1.创建主窗口

window = tk.Tk()   # 生成主窗口,命名 window
window.title('支付更正信息查看窗口')  # 定义主窗口标题
window.geometry('800x600')  # 定义主窗口的长宽

2.创建Frame,使用pack布局

fm_t = tk.Frame(window)     # text
fm_t.pack(fill='both', expand='yes')

使fm_t自适应占满窗口可以用

fill=‘both’, expand=‘yes’

3.设置label和水平、垂直滚动条

l2 = tk.Label(fm_t, text='实时终端控制台', font=('微软雅黑', 10, 'bold'), width=500, justify='left', anchor='w')   # justify控制对其方向,anchor控制位置 共同使文本靠左
l2.pack()
s2 = tk.Scrollbar(fm_t)      # 设置垂直滚动条
b2 = tk.Scrollbar(fm_t, orient='horizontal')    # 水平滚动条
s2.pack(side='right', fill='y')     # 靠右,充满Y轴
b2.pack(side='bottom', fill='x')    # 靠下,充满x轴

4.创建Text文本控件

self.text = tk.Text(fm_t, font=('Consolas', 9), undo=True, autoseparators=False,
       wrap='none', xscrollcommand=b2.set, yscrollcommand=s2.set)  # , state=DISABLED, wrap='none'表示不自动换行
self.text.pack(fill='both', expand='yes')
self.text.insert('end', 'Successfully connected to window')
s2.config(command=self.text.yview)  # Text随着滚动条移动被控制移动
b2.config(command=self.text.xview)

Text控件也自适应填充Frame

5.窗口执行

window.mainloop()  # 主窗口循环运行

6.控制台输出函数

# 控制台输出
def ternimal_print(self, msg, info_type):
	self.text.insert('end', "\n%s [%s] %s" % (time.strftime('%Y-%m-%d %H:%M:%S'), info_type.upper(), msg))
    self.text.update()

这里设置了输出格式
一定要加text.update() 才能让Text文本框更新

这里就完成了Tkinter实时控制台输出窗口!!

Text控件小功能–撤销和恢复按钮

# 定义撤销和恢复方法,调用edit_undo()和 edit_redo()方法
def backout():
    text.edit_undo()
def regain():
    text.edit_redo()
  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值