我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python入门之tkinter实现简

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python入门之tkinter实现简

这次练习的题目是实现一个简单的RSS功能,需要了解的知识点:

  1. tkinter,在上一篇《简单的记事本》中已经了解了一些tkinter的用法,在这里延续了上一篇,加深一下印象。

  2. urllib,HTMLPaser库的使用,注意python3已经与python2有了很大不同。

# -*- coding:utf-8 -*-
#编码声明
 
# file: run_rss_one.py
#文件名
 
import tkinter
import urllib
import requests
from html.parser import HTMLParser
import os



#导入方法模块
class MyHtmlParser(HTMLParser):

    def __init__(self,edit):
        HTMLParser.__init__(self)
        self.edit = edit
        self.a_title = False
        self.a_text = False
    def handle_starttag(self,tag,attrs):
        if tag == 'title':
            self.a_title = True
        if tag == 'a':
            self.a_text=True
        
    def handle_endtag(self,tag):
        if tag == 'title':
            self.a_title = False
        if tag == 'a':
            self.a_text = False
    def handle_data(self,data):
        if self.a_title:
            self.edit.insert(tkinter.END,data)
        if self.a_text:
            self.edit.insert(tkinter.END,data+'\n')

这里class MyHtmlParser继承了HTMLParser,根据这个模板你可以添加你自己需要从网页上获取的内容了,假设你的网页中有标签p,试一试新增一个属性self.a_p
另外对于HTMLParser,这个了解起来可以需要费一些功夫,不过又有什么关系呢,你所浪费掉的时间总会在某个时候得到收获的,人生嘛时间不浪费在这里也会浪费在那里。

对于下面的class Window,定义了一些窗口属性,接下来在代码中我会简单记录一下它的用法。

class Window:
    def __init__(self, root):
        self.root = root     
        self.entryUrl = tkinter.Entry(root,width = 30)#Entry是输入控件
        self.entryUrl.place(x = 65, y = 15)#place定义了它放置的位置,然后如下的控件皆按照这样的方式定义好了
        #这里self.Get在这个函数中展示了输出的东西,当点击按钮时候,就会显示到文本框中
        self.get = tkinter.Button(root,
                text = '读取RSS', command = self.Get, font = ('system','10'))
        self.get.place(x = 350, y = 15)
        self.frame = tkinter.Frame(root, bd=2)
        self.scrollbar = tkinter.Scrollbar(self.frame)
        self.edit = tkinter.Text(self.frame,yscrollcommand = self.scrollbar.set,
                width = 96, height = 32)  
        self.scrollbar.config(command=self.edit.yview)
        self.edit.pack(side = tkinter.LEFT)
        self.scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
        self.frame.place(y = 60)
        #用label定义一个提示输入的内容,然后把这个内容放置到输入框的下方
        self.indicate=tkinter.Label(root,text='(Please input: local path or url)',fg='red')
        self.indicate.place(x=65,y=35)
 
    def Get(self):
        url = self.entryUrl.get()
        #做一个判断如果是本地路径就获取文件名
        if os.path.isdir(url):
            #如果要循环读取目录及子目录,用os.walk
            dir=os.listdir(url) 
            #把路径下所有的文件及目录都展示在tkinter的文本框中,请回顾init中内容,self.edit本质就是一个Text阿
            for dir_n in dir:
                self.edit.insert(tkinter.END,url+ ' ' +dir_n+'\n') 
                #在这里也可以继续深入,对路径下的文件判断,比如获取文中的几行内容,抑或是对路径下的目录继续统计下去         
        else: 
            #注意python3的用法要加request
            response=urllib.request.urlopen(url)
            page = response.read()  # 读取URL内容
            hp = MyHtmlParser(self.edit) #解析html
            hp.feed(page.decode('utf-8')) #feed(),主要用于接受带html标签的str,当调用这个方法并提供相应的data时,实例开始执行
            hp.close()#结束执行close()

在这里通过HTMLPaser对解析html有了一个简单的了解,在下一篇文章中,会继续延续此文的内容,主要重点放在获取某个网站的特定内容。
所以今天你走过的路决定了你明天可以走的路,每一个障碍都要及时解决,不要轻易绕过

然后再添加上主体控制部分,就可以运行你的文件试一试了。

root = tkinter.Tk()
root.title('RSS 阅读器')
window = Window(root)
root.minsize(700,500)
root.maxsize(700,500)
root.mainloop()

新手之作,欢迎探讨一块儿学习。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python入门之tkinter实现简

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python入门之tkinter实现简

这次练习的题目是实现一个简单的RSS功能,需要了解的知识点:tkinter,在上一篇《简单的记事本》中已经了解了一些tkinter的用法,在这里延续了上一篇,加深一下印象。urllib,HTMLPaser库的使用,注意python3已经与p
2023-01-31

Python入门——实现简易数码时钟

最近迷上了Python,要说为什么呢?Python语法简单,功能强大,有广泛的第三方库能快速编程实现自己的想法(无需重复去造轮子)。就像某位前辈说的:“人生苦短,学会偷懒…”,配置好sublime text照着网上教程直接上手写个小程序入门
2023-01-31

python的tkinter如何实现简单登录

这篇文章主要介绍“python的tkinter如何实现简单登录”,在日常操作中,相信很多人在python的tkinter如何实现简单登录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python的tkinte
2023-06-22

Python+Tkinter实现简单的画图软件

这篇文章主要为大家详细介绍了如何利用Python和Tkinter实现编写一个简单的画图软件,可以实现画图、保存、撤销等功能,感兴趣的可以了解一下
2023-05-17

python+tkinter实现一个简单的秒钟

本指南介绍了如何使用Python和Tkinter库创建简单的秒钟。通过使用画布和图形函数,我们绘制了一个圆形时钟,并以红色圆形表示秒针。每秒,秒针会自动更新其位置,显示准确的秒数。指南详细说明了每个步骤,从导入库到更新秒针位置,并提供代码示例以帮助理解。
python+tkinter实现一个简单的秒钟
2024-04-02

python入门之一个简单记事本

最近在练习一个关于python项目的列表,拿到列表看到这是要实现一个记事本功能,刚开始拿到题目真有点懵。虽然用python实现excel的处理已经很熟悉了,且已经把python的知识点都学了一遍,但是用起来还是不顺手呐。尤其是试验之后发现一
2023-01-31

python 之 scrapy 入门 (

在网上浏览了众多scrapy入门教程 作为小白的我总结一下: 最重要的一点就是安装Scrapy 前提是安装好了Anaconda Navigator过后 简直是如履平地啊! 可以借鉴https://blog.csdn.net/zjiang1
2023-01-31

python入门之python介绍

python基础之Python优点    1.简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。    2.易学:Python极其容易上手,
2023-01-31

基于python的Tkinter实现一个简易计算器

本文实例介绍了基于python的Tkinter实现简易计算器的详细代码,分享给大家供大家参考,具体内容如下 第一种:使用python 的 Tkinter实现一个简易计算器#coding:utf-8 from Tkinter import *
2022-06-04

怎么用python tkinter实现简单计算器功能

这篇文章主要讲解了“怎么用python tkinter实现简单计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用python tkinter实现简单计算器功能”吧!效果图直接上代
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录