zoukankan      html  css  js  c++  java
  • 使用pyqt的第一个程序--北邮人IPTV客户端

    使用pyqt的第一个程序--北邮人IPTV客户端_索索_新浪博客

        使用pyqt的第一个程序--北邮人IPTV客户端
        [此博文包含图片] (2008-11-11 14:59:14)
        转载▼
        标签:
        qt
        iptv
        it
            分类: Python
            练习练习如何写Gui的程序,思路比较简单,就是将网站上的链接抓下来,然后双击的时候调用mplayer进行播放:
        使用pyqt的第一个程序--北邮人IPTV客户端
           (1)获取链接的代码(使用了urllib和sgmllib库):
        #! /usr/bin/env python
        # -*- coding: utf-8 -*-

        import urllib
        import sys
        from sgmllib import SGMLParser
        class URLLister(SGMLParser):
            def reset(self):
                SGMLParser.reset(self)
                self.pieces=[]
                self.urls=[]
                self.data=[]
                self.flag = 0

            def start_a(self,attrs):
                href=[v for k,v in attrs if k=="href"]
                if "mms" in str(href):
                    self.pieces.extend(href)
                    self.flag = 1

            def end_a(self):
                self.flag = 0

            def handle_data(self,text):
                if(self.flag == 1):
                    self.pieces.extend([text.decode('GB2312').encode('UTF-8')]) # (sys.stdin.encoding)])

        def getplaylist():
            playlist = []
            usock=urllib.urlopen("http://iptv.bupt.edu.cn/")
            parser=URLLister()
            parser.feed(usock.read())
            usock.close()
            parser.close()

            length = len(parser.pieces)/2
            for i in range(length) :
                    playlist.extend(["%s %s" % (parser.pieces[i*2+1],parser.pieces[i*2])])
            return playlist

            (2)Gui部分的代码:
        #! /usr/bin/env python
        # -*- coding: utf-8 -*-

        import sys
        from PyQt4 import QtCore, QtGui
        from iptv import Ui_iptv
        import playlist
        import string

        class StartQt4(QtGui.QMainWindow):
            def __init__(self, parent=None):
                QtGui.QWidget.__init__(self, parent)
                self.ui = Ui_iptv()
                self.ui.setupUi(self)
                self.codec = QtCore.QTextCodec.codecForName('UTF-8')
                self.tvlist = playlist.getplaylist()
                self.ui.listTable.clear()
                for url in self.tvlist:
                    item = QtGui.QListWidgetItem(self.ui.listTable)
                    item.setText(QtGui.QApplication.translate("iptv", url, None, QtGui.QApplication.UnicodeUTF8))            
               QtCore.QObject.connect(self.ui.listTable,QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem*)"),
        self.play)
                QtCore.QMetaObject.connectSlotsByName(self)


            def play(self):
                import subprocess
                signalList = self.sender()
                Itemcount = signalList.currentRow()
                Itemtext = self.tvlist[Itemcount]
                url = string.split(Itemtext)[1]
                subprocess.Popen(["smplayer",url])
           
        if __name__ == "__main__":
            app = QtGui.QApplication(sys.argv)
            myapp = StartQt4()
            myapp.show()
            sys.exit(app.exec_())


        分享: [分享到新浪Qing] 分享到新浪Qing

        0

        喜欢
        阅读(1717)┊ 评论 (0)┊    收藏(0) ┊转载    ┊ 喜欢▼ ┊打印┊举报
        已投稿到:    
        [排行榜] 排行榜 [圈子] 圈子   
        前一篇:c语言中volatile关键字的作用
        后一篇:浅谈C中的malloc和free
        评论 重要提示:警惕虚假中奖信息|[商讯]我有明星气势签名
        [发评论]

            当第一个评论者吧! 抢沙发>>

        发评论 [商讯]爱心签名换梦想,天天派奖|[商讯]提高博客人气新方法
        mlzboy:
        热门表情小新小浪中粮美好生活管不着和了不起奇童梦乐兔斯基
        更多>>

            春节
            春节快乐
            我爸是李刚
            千年极寒
            路过
            灌水
            无语
            无聊

        分享到微博 [新]    评论并转载此博文 [新]

        验证码: 请点击后输入验证码 收听验证码   
        匿名评论
        发评论

        以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
        < 前一篇c语言中volatile关键字的作用
        后一篇 >浅谈C中的malloc和free
         

        新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音
  • 相关阅读:
    交换两个变量的值的若干种方法
    排序算法之冒泡排序
    JAVA宇宙无敌复习资料
    HTML中Float和元素定位
    HTML盒子模型
    HTML表单
    HTML中Css补充资料
    HTML中Css详细介绍
    HTML表格及框架介绍
    HTML网页的基本结构及基本功能
  • 原文地址:https://www.cnblogs.com/lexus/p/2819503.html
Copyright © 2011-2022 走看看