使用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 提示音
posted on 2012-12-15 17:21?lexus 閱讀(...) 評論(...) 編輯 收藏
使用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 提示音
posted on 2012-12-15 17:21?lexus 閱讀(...) 評論(...) 編輯 收藏
轉載于:https://www.cnblogs.com/lexus/archive/2012/12/15/2819503.html
總結
以上是生活随笔為你收集整理的使用pyqt的第一个程序--北邮人IPTV客户端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决对表空间没有权限的问题
- 下一篇: 跑跑卡丁车rush服务器维护,跑跑卡丁车