python3.6界面,Python3.6+tkinter+logging 实现简单的UI界面以及生成log

MAC OS Python3.6 用tkinter实现简单的布局,加上ping、time和logging模块测试连通性并生成log

#需要导入的模块

import os

import sys

import tkinter as tk

import time,timeit

import logging

import os.path

from logging import handlers

#主界面

window=tk.Tk() #窗口函数

window.title(‘window’) #窗口的名字

window.geometry(‘400x400’) #窗口的大小,x是字母

#IP显示label和entry

tk.Label(window,text=“ip address:”).grid(row=0) #grid是布局,0表示放在第一行

ip = tk.Entry(window) #设置IP entry

ip.grid(row=0,column=1) #放在第一行,第一列

#port显示label和entry

tk.Label(window,text=“port:”).grid(row=1) #将port放在第二行

port = tk.Entry(window) #设置port entry

port.grid(row=1,column=1) #放在第二行,第一列

log_format = “%(asctime)s - %(name)s - %(levelname)s - %(message)s” #log的格式设定

time_format = “%Y-%m-%d %H:%M:%S” #时间格式设定

logging.basicConfig(filename=‘test.log’,level=logging.INFO,format=log_format,datefmt=time_format) #log名字,等级设定,log默认生成在该py文件所在目录

#ping方法

def ping():

backinfo = os.system('ping -c 5 ’ + ip.get()) #丢包5次

if backinfo == 0: #返回0为True

showinfo(“connect ok”) #显示在text中

logging.info(“connect ok”) #显示在log中

else:

showinfo(“connect fail”) #显示在text中

logging.info(“connect fail”) #显示在log中

ping_button = tk.Button(window,text=“connect”,font=(‘Arial’,20),command=ping).grid(row=0,column=2) #设置ping button,放在第一行,第二列

#显示text定义

text = tk.Text(window,width=50,height=50) #设置高度和宽度

#定义信息显示的方法

def showinfo(result):

realtime = time.strftime("%Y-%m-%d %H:%M:%S ")

textvar = realtime + result #系统时间和传入结果

text.insert(‘end’,textvar) #显示在text框里面

text.insert(‘insert’,’\n’) #换行

#定义清除方法

def clear():

text.delete(0.0,tk.END) #清楚text中的内容,0.0为删除全部

#显示text

text.place(x=100,y=150) #place为布局,放在坐标为(100,150)的地方

#点击方法定义

def hit(temp):

if temp == “start”:

showinfo(“start testing”) #显示在text中的内容

showinfo(“result is …”)

logging.info(“program is running”) #显示在log中的内容

else:

showinfo(“stop testing”) #显示在text中的内容

logging.info(“program stopped”) #显示在log中的内容

start_button = tk.Button(window,text=“Start”,font=(‘Arial’,20),command=lambda:hit(“start”)).place(x=100,y=100) #设置开始button

stop_button = tk.Button(window,text=“Stop”,font=(‘Arial’,20),command=lambda:hit(“stop”)).place(x=200,y=100) #设置停止button

clear_button = tk.Button(window,text=‘Clear’,font=(‘Arial’,20),command=clear) #设置清除button

clear_button.place(x=300,y=100) #显示清除button

window.mainloop() #界面循环

结果展示:

1.界面显示

16830adce1952c5fada933defbd1234b.png

2.连通性测试,测试IP 127.0.0.1(这是回环地址)

终端结果

c533044be151397046a8c4947bc56625.png

界面结果

e36ec5725f02482f2293740fe1675e1e.png

3.button测试

开始

28fe7e9851309b2c0f34706f1ce94493.png

停止

86de2935aa31ace8abf9b2c0454d6158.png

清除

4f7ae15fc46345a44a9920eae0438545.png

4.log生成

70aa3b244c83354f609f1c225c3f8e65.png

以上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值