zoukankan      html  css  js  c++  java
  • Tkinter简单布局小窗口实现获取时间、天气、求和、差

    作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,直接import即可使用

    这是程序效果图

     代码如下:

    import tkinter
    import datetime
    import requests
    from bs4 import BeautifulSoup

    window = tkinter.Tk() # 实例化object,建立窗口window
    window.geometry('300x400') # 设定窗口的大小,乘是x


    # 获取时间
    def get_time():
    now_time = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S") # 获取当前时间
    var.set(now_time) # 赋值给var


    def get_htmltext(url):
    res = requests.get(url)
    res.encoding = 'utf-8'
    return res.text


    def get_weather():
    url = 'http://www.weather.com.cn/weather/101200101.shtml'
    data = get_htmltext(url)
    demo = BeautifulSoup(data, features="html.parser")
    # p = demo.find('input', id="hidden_title")
    # 标签字符中带有-,比如data-custom;二是class不能看作标签属性。解决的办法是在attrs属性用字典进行传递参数:可以查看网页源码来找对应的元素名称
    p1 = demo.find(attrs={'class': 'sky skyid lv3 on'}).get_text()
    var.set(p1)


    b1 = tkinter.Button(window, text="获取当前时间", command=get_time)
    b1.place(x=10, y=0)

    b2 = tkinter.Button(window, text="获取当前天气", command=get_weather)
    b2.place(x=100, y=0)

    e1 = tkinter.Entry(window, show=None) # 显示成明文形式输入框
    e1.place(x=10, y=35)

    e2 = tkinter.Entry(window, show=None) # 显示成明文形式输入框
    e2.place(x=10, y=60)


    # 加法
    def sum_e():
    a = e1.get()
    b = e2.get()
    if len(a) == 0 or len(b) == 0:
    var.set('请输入数字')
    else:
    var.set(float(a) + float(b))


    # 减法
    def dif_e():
    a = e1.get()
    b = e2.get()
    if len(a) == 0 or len(b) == 0:
    var.set('请输入数字')
    else:
    var.set(float(a) - float(b))


    b3 = tkinter.Button(window, text="和", command=sum_e)
    b3.place(x=160, y=30)

    b4 = tkinter.Button(window, text="差", command=dif_e)
    b4.place(x=160, y=60)

    var = tkinter.StringVar() # 将label标签的内容设置为字符类型,用var来接收hit_me函数的传出内容用以显示在标签上
    l1 = tkinter.Label(window, textvariable=var, height=15, width=20, bg='red') # 在图形界面上设定标签
    l1.place(x=10, y=90)

    # 进入消息循环
    window.mainloop()
  • 相关阅读:
    (转载)CentOS 6.5使用aliyun镜像来源
    (转载) Linux五种IO模型
    (转载)django 访问url报错Forbidden (CSRF cookie not set.): xxx 问
    (原创)性能测试中,Oracle服务器定位CPU使用率高的瓶颈(SQL)
    oracle AWR性能监控报告生成方法
    MQ、JMS以及ActiveMQ的了解和认识
    coding.net及git的使用方式
    【转载】zookeeper使用和原理探究(一)
    shell执行mysql的脚本(包括mysql执行shell脚本)
    mikadonic-建立互信
  • 原文地址:https://www.cnblogs.com/lhm-test/p/12888995.html
Copyright © 2011-2022 走看看