使用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 = 0def 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 = 1def end_a(self):
self.flag = 0def 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 stringclass 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 提示音
转载于:https://www.cnblogs.com/lexus/archive/2012/12/15/2819503.html
使用pyqt的第一个程序--北邮人IPTV客户端相关推荐
- c语言第一课程序代码怎么打,【北北的小程序】北のC语言第一课:helloworld
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 诶多!helloworld神马的,是我们要编写的第一个程序哟! 话说第一课为什么不讲一些C语言的发展,优势什么的呢?因为LZ是java党!对C语言本身不是 ...
- 【zz北邮人】[经历][完稿]cs硕士妹子找工作经历【阿里人搜等互联网】
发信人: whenmary (whenmary), 信区: Job 标 题: [经历][完稿]cs硕士妹子找工作经历[阿里人搜等互联网] 发信站: 北邮人论坛 (Fri Mar 15 19:39 ...
- 北邮人导航html代码,北邮人导航 · BYR-Navi 的安装与配置
北邮人导航是一个开源的网址导航项目,基于 Jekyll 和 Fomantic UI Web 框架,可以部署于 GitHub Pages 上. 本文说明一下在 Docker 里安装的方法,这类开源项目所 ...
- 别浪费自己的高学历!+研究生应当常去的网站+北邮人!应该反思!+写给每一个北邮人
别浪费自己的高学历!(转) 2011-02-26 22:13 很多人在问念研究生能学到什么,短短的两年时间,上课学不到多少有用的,科研也没怎么搞,到底念研究生能学到什么?一开始念硕士博士的时间都是有这 ...
- 发篇面经,感谢北邮人对我的帮助~(摘自北邮人论坛)
百度搜索研发部: 年后面试,电话面试,一面问的问题很基础,会针对你常用的编程语言问比较典型的问题,我当时的问题是const的用法以及作用,inline 和#define哪个更好,程序在内存中的分为哪些 ...
- 北邮人论坛面经转载(2)感谢学长学姐们
找实习两个月 ------------ 三月初开始找实习到现在两个满月,投了54家公司,去了21场面试,拿了10个offer.下面会是一个长篇的面经,和一些总结的经验教训. 面经 ---- ### 恒 ...
- cache性能分析实验 北邮_北邮人又获奖啦快来点赞!
又获奖了! 近期,我校师生在科技领域又取得了诸多荣誉.教授当选"科技人物".教师论文获大奖.师生团队蝉联挑战赛冠军--让我们一起来看看吧! 彭木根教授当选 "2019·科 ...
- Python实现北邮人论坛模拟登录
推荐去我的博客里查看这篇文章,效果更佳: http://fuxuemingzhu.cn/2017/08/12/byrbbs-login/ 模拟登录北邮人论坛可能是每个学着写爬虫的北邮人必备技能了.在网 ...
- python的gui编程用途_Python19-03_GUI编程----GUI编程的介绍(第一个程序)
GUI编程的介绍(第一个程序) GUI图形用户界面编程 我们前面实现的都是基于控制台程序, 程序和用户交互通过控制台来完成. GUI(Graphics User Interfance)即图形用户界面编 ...
- 写给想跳出IT圈的北邮人
(之前发在了worklife版,但貌似不太适合,再在这里重发一次吧,希望能和大家共同探讨些问题,为还在学校的同学们留下些东西) 这篇文章是写给那些想跳出IT圈的,从事跟IT技术不相关的工作的北 ...
最新文章
- 2019年9月2日开学!寒假时间也定了……
- Docker(二):Docker 容器使用
- ansible笔记(11):初识ansible playbook(二)
- python decode()函数 (使用登记用于编码的编解码器解码字节)
- 应该允许公司报复黑客吗?
- 基于xml进行bean装配
- 机器学习入门06 - 训练集和测试集 (Training and Test Sets)
- 时间序列预测算法----Prophet
- 层次聚类——自底向上方法
- 2015阿里天池大数据竞赛解题源码
- 基础 | 管理视图、序列、同义词
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1160/1170)...
- 【目标检测】(13) 先验框解码,调整预测框,附TensorFlow完整代码
- 图片转换js (img对象,file对象,base64,canvas对象),以及图片压缩方式
- js 事件回调函数的对象属性说明:clientX、screenX、offsetX、pageX
- 聊一下盲盒app开发 盲盒小程序开发
- Visio画UML类图
- msp430 abs函数 c语言,实现一个简单的msp430软件
- TMS320F280049C的ADC 阅读记录
- 苹果怎么关位置定位服务器,iphone的定位服务在哪里