python 打印信息实时输出到GUI_xiao99qiao的博客-程序员宅基地

技术标签: tkinter  python  

python 打印信息实时输出到GUI

包含了简单的Tk界面实例:
运行后请点击:文件-开始

main.py

import os
import sys
import win32con
import win32api
from tkinter import *

root = Tk()
root.resizable(width=False, height=False)
text = Text(root)
text.pack(fill=X, side=BOTTOM)
text.grid(row=0, padx=2, pady=2)

def hello():
#    print('hello')
    text.insert(END,'hello'+'\n')
    
def about():
#    print('ok')
    text.insert(END,'ok'+'\n')
    
def change():
    root.update()

def delete():
    text.delete(1.0, END)

def Exit():
    os._exit(0)    

def show():
    try:
        #你要的在这里
#        f = sys.stdout
        f = os.popen('a.py')
        for l in iter(f.readline, ''):
#            print(l,end='')
            text.insert(END,l)
            text.see(END)
            text.update()

    except:
        win32api.MessageBox(0, "文件读写错误!",
                    "警告!",win32con.MB_OK)
        

menubar = Menu(root)
 
filemenu = Menu(menubar,tearoff=0)
filemenu.add_command(label="开始", command=show)
filemenu.add_command(label="清除", command=delete )
filemenu.add_command(label="退出", command=Exit )
menubar.add_cascade(label="文件", menu=filemenu)

helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="关于", command=about)
helpmenu.add_command(label="帮助", command=hello)
menubar.add_cascade(label="帮助", menu=helpmenu)
 

root.config(menu=menubar)
 
mainloop()

a.py

import time
a=("  静夜思 ","床前明月光,","疑是地上霜。","举头望明月,","低头思故乡。")
for b in a:
    print(b)
#    time.sleep(0.5)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiao99qiao/article/details/106965040

智能推荐

k8s_/dashboard --insecure-bind-address=-程序员宅基地

1:k8s集群的安装1.1 k8s的架构除了核心组件,还有一些推荐的Add-ons:组件名称说明kube-dns负责为整个集群提供DNS服务Ingress Controller为服务提供外网入口Heapster提供资源监控Dashboard提供GUIFederation提供跨可用区的集群Fluentd-elasticsearch提供集群日志采集、存储与查询1.2:修改IP地址、主机名和host解析10.0.0.11 k8s-ma_/dashboard --insecure-bind-address=

sourceTree每次拉取代码和提交代码都需要输入密码-程序员宅基地

今天新安装的sourceTree导入项目,拉取代码的时候一直提示让我输入git密码,每次拉取和提交的时候都需要重新输入密码,甚是麻烦,在网上,搜索,解决办法五花八门,这里提供一种简单有效的方法供大家参考解决方法很简单:就是找到项目的git源地址,在地址路径的前面加上你的git 用户名@ 然后点击确定就可以了如果按照上面的操作仍然没能解决问题,这里还有一个最终解决方案,就是将密码也放...

天融信网络知识小百科——第六回:如何为交换机选配光模块?_天融信光模块-程序员宅基地

前言光模块(optical module)由光电子器件、功能电路和光接口等组成。其中,光电子器件包括发射和接收两部分。光模块的作用就是光电转换,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号。光模块的前世今生早期的网络中,PC和交换机、交换机和交换机之间通过网线进行联网和通信。随着网络规模越来越大,设备间的物理距离也越来越远。但网线成为了制约网络规模扩大的瓶颈——网线的最远有效传输距离仅为100米。当然,这难不倒聪明的工程师。当两台交换机之间的距离超..._天融信光模块

Java学习总结15——JNDI详解-程序员宅基地

出处:http://blog.csdn.net/loseinworld/article/details/7759240

Android中ROM的制作_android rom制作-程序员宅基地

Android的ROM 首先介绍一下ROM的基本知识,其实按照比较科学的方法来说,Android的“ROM”这种叫法本身就是错误的,只不过是历史遗留的称呼罢了。看看定义吧,所谓的“ROM是只读内存(Read-Only Memory)的简称。ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定 ,断电后所存数据_android rom制作

ACE学习一:ACE的体系结构_ace体系-程序员宅基地

最近在学习ACE,把一些笔记整理一下。ACE 自适配通信环境 (Adaptive Communication Environment) 是面向对象的框架和工具包,它为通信软件实现了核心的并发和分布式模式。ACE 体系结构如图1-1 所示,ACE 具有分层的体系结构。在ACE 框架中有三个基本层次: 1.操作系统(OS)适配层 2.C++ 包装层 3.框架和模式层_ace体系

随便推点

linux下网络编程2:服务端和客户端进行TCP通信实例_linux tcp客户端-程序员宅基地

问题:实现服务端和客户端之间的TCP通讯。代码:1)服务端代码://服务端代码#include #include #include #include #include #include #include #include #include #define PORT 4321#define BACKLOG 1#define MA_linux tcp客户端

强化学习之Q-learning算法实战1_q-learning 训练结果使用-程序员宅基地

实战内容:1、一维探宝2、二维探宝一、实际效果:一维探宝:二维探宝:二、Q-learning算法:输入: 环境E:用于对机器人做出的动作进行反馈,反馈当前奖励r(本设计中,规定拿到宝藏才有奖励,落入陷阱获得负奖励,其余无奖励)与下个状态state'。如实际效果中的横向轴与棋盘 动作空间A:一维中['left', 'right'];二维中[‘up’, 'down', 'left', 'right'] 奖..._q-learning 训练结果使用

windows上跑linux内核,微软Windows将变成Linux内核上一个类似Proton的仿真层_abcclk的博客-程序员宅基地

原标题:微软Windows将变成Linux内核上一个类似Proton的仿真层 来源:腾讯新闻开源软件倡导者称,这一幕在Proton、WSL和面向Linux的Edge上体现得尽露无遗。大名鼎鼎的开源软件倡导者Eric S Raymond撰文提出了一个观点:Linux即将在桌面端取得胜利,原因是微软很快会厌倦Windows。Raymond的观点(详见其在上周晚些时候写的博文http://esr...._uniproton内核

linux el5 el6 区别,Oracle ACFS Support on Linux詳解_小小支呀的博客-程序员宅基地

最近准备使用Oracle ACFS在RAC环境下搭建OGG-HA,于是在RedHat6.5 64位系统上搭建了一套Oracle11.2.0.4.0 RAC,发现ACFS无法使用。之后查找大量资料,发现11G ACFS并不支持RedHat6.5,11.2.0.4.0只支持到RedHat6.3。接下来介绍一下OracleACFS Support on Linux的信息。不支持ACFS的描述[grid@..._linux el6 asm

HDU 1087 - Super Jumping! Jumping! Jumping!-程序员宅基地

题目大意:求最大递增子序列,可以跳着取。解题思路:dp,每个位置都去判断后面的点大于该位置的情况,重点dp初始化为输入的数。否则,5 3 2 3 0 1,过不了。输出所有dp就懂了。ac代码:#include #include using namespace std;int main(){ int n, a[1005], Max, dp[1005]; while (

Cocos2d开发系列(一)-程序员宅基地

文章转发来至:http://blog.csdn.net/kmyhy/article/details/6307180Cocos2d是一个比较流行的iphone游戏开发框架,据说在 AppStore 上已有超过 100 个游戏是基亍 Cocos2D-iPhone。其中 3 个由此 迚入过 TOP 10 的排名。其中的 StickWars 更是曾排名第一。 现在,让我们来开始Coco