`

qt url转迅雷之类的

 
阅读更多

import re

import base64

from PyQt4 import QtGui,QtCore

import os

import sys

 

class Window(QtGui.QWidget):

  def __init__(self):

    QtGui.QWidget.__init__(self)

 

    self.linklabel=QtGui.QLabel('link:',self)

    self.link=QtGui.QLineEdit(self)

 

    self.thunderlabel=QtGui.QLabel('Thunder:',self)

    self.thunder=QtGui.QLineEdit(self)

 

    self.qqdllabel=QtGui.QLabel('qqdl',self)

    self.qqdl=QtGui.QLineEdit(self)

 

    transbutton=QtGui.QPushButton('Transition',self)

 

    grid=QtGui.QGridLayout()

    grid.addWidget(self.linklabel)

    grid.addWidget(self.link)

    grid.addWidget(self.thunderlabel)

    grid.addWidget(self.thunder)

    grid.addWidget(self.qqdllabel)

    grid.addWidget(self.qqdl)

    grid.addWidget(transbutton)

 

    self.resize(500,200)

    self.setLayout(grid)

    self.setWindowTitle('Transition  by loster v0.1')

 

    self.connect(transbutton,QtCore.SIGNAL('clicked()'),Trans)

 

  def getUrl(self):

    return self.link.text()

  def setThunder(self,url):

    self.thunder.setText(url)

  def setQQDL(self,url):

    self.qqdl.setText(url)

  def setError(self,warning):

    QtGui.QMessageBox.warning( self, "Transition", warning, QtGui.QMessageBox.Yes )

 

def Trans():

  #获得链接

  url=main.getUrl()

  print 'url:'+url

  if CheckUrl(url):

    main.setThunder(Url2Thunder(url))

    main.setQQDL(Url2QQdl(url))

  else:

    main.setError('Invalid link,Please try again')

 

#判断url是否有效

def CheckUrl(url):

  if re.match('(http|https|ftp|ed2k)://', url):

    return True

  else:

    return False

 

#转化成迅雷下载地址

def Url2Thunder(url):

  url='AA'+url+'ZZ'

  url = base64.b64encode(url)

  url = 'thunder://' + url

  print 'thunder:'+url

  return url

 

#转换成qq旋风下载地址

def Url2QQdl(url):

  url = base64.b64encode(url)

  url = 'qqdl://' + url

  print 'QQDL:'+url

  return url

 

if __name__=='__main__':

  app=QtGui.QApplication(sys.argv)

  main=Window()

  main.show()

  sys.exit(app.exec_())

分享到:
评论

相关推荐

    Qt 之 模仿迅雷 新建任务界面 根据Url获取文件信息 exe

    用Qt实现了迅雷9新建任务窗口的效果 ,复制下载url到输入框,能够自动解析下载文件信息,即根据Url获取文件信息的功能.

    Qt 之 模仿迅雷 新建任务界面 根据Url获取文件信息

    用Qt实现了迅雷9新建任务窗口的效果 ,复制下载url到输入框,能够自动解析下载文件信息,即根据Url获取文件信息的功能,项目工程是基于VS2013,其他版本可以直接拷贝目录下文件新建工程后附件文件即可。

    QT界面旋转切换Widget

    QT的QPropertyAnimation类可以用来创建这种动画,它允许你对Qt对象的属性进行动画处理。例如,你可以设置一个动画来改变Widget的rotation属性,从而实现旋转效果。 为了平滑地在多个Widget间切换,你需要维护一个...

    Qt文字转语音文字转语音源码

    【Qt文字转语音技术详解】 Qt是一个跨平台的C++应用程序开发框架,广泛应用于桌面、移动和嵌入式系统的GUI设计。在Qt中实现文字转语音(Text-to-Speech,TTS)功能,主要是通过调用系统底层的语音合成引擎来实现的...

    qlabel qt open url

    `QUrl`是QT中的一个类,用于表示统一资源定位符,即URL,它是访问网络资源的基础。 为了使`QLabel`具有点击打开URL的功能,我们可以重载`QLabel`的`mousePressEvent`事件,这样当用户点击`QLabel`时,就可以触发...

    基于QT,通过http/https开头的url下载图片的源代码

    首先,QT中的QNetworkAccessManager类是进行网络请求的核心组件,它可以处理HTTP、HTTPS等各种网络请求。在我们的项目中,我们需要创建一个QNetworkAccessManager实例,用于发起下载请求: ```cpp ...

    QT3转QT4总结

    QT3转QT4总结 QT3和QT4架构上的区别是非常重要的,了解这些区别是QT3转QT4的关键。下面我们将总结QT3和QT4架构上的主要区别,并提供QT3转QT4的方法步骤和技巧。 Designer中的区别 1. 控件名称的变化:QT3中的...

    Qt动态库 导出类

    2. **导出类**:在Qt中,如果你希望在动态库中定义的类能在其他模块或应用中使用,你需要使用特定的宏来声明这些类为“导出”。对于C++,这通常是通过`Q_DECL_EXPORT`和`Q_DECL_IMPORT`宏来实现的。导出类允许你在库...

    QtQuick 旋转的小风车

    QtQuick 的模块化设计允许我们将风车组件封装成可重用的 QML 类。通过 `import` 语句,可以在其他 QML 文件中引入并实例化这个组件。这使得代码更易于维护和扩展。 ### 6. Qt Quick Controls 2 和 QtQuick 3D 虽然...

    基于qt的html转换pdf代码

    3. **QPrinter和QPainter**:QPrinter是Qt中用于处理打印任务的类,而QPainter则是一个用于绘图的基础类,支持矢量图形和文本输出。在HTML转PDF的过程中,QPrinter被用来设置PDF输出的参数,如纸张大小、方向等,...

    Qt5类继承关系图_qt5类继承关系图_QT5_

    "Qt5类继承关系图"是一个重要的参考资料,它直观地展示了Qt5库中各个类之间的关系,有助于开发者理解和使用Qt5的各种组件。 这个PDF文档很可能包含了Qt5的主要模块,如Qt Widgets、Qt GUI、Qt Network、Qt Database...

    Qt 语音合成 文字转语音

    在“Qt语音合 成 文字转语音”这个主题中,我们将深入探讨如何利用Qt结合微软的Speech SDK(Speech Synthesis API)来实现文本转语音(TTS)的功能,以及如何支持中英混合输出。 首先,我们需要了解Qt中的QSound或...

    qt翻译文件与Execl互转工具

    总的来说,"qt翻译文件与Excel互转工具"是Qt开发者进行国际化项目时的一个实用辅助工具,通过提供更友好的编辑界面,促进了翻译工作的顺利进行。它不仅适用于Qt项目的本地化,也对其他需要多语言支持的项目具有参考...

    Qt案例之利用QImage类实现对图像的基本操作(图像显示、图像缩放、图像旋转).zip

    Qt案例,利用QImage类实现对图像的基本操作,包括图像显示、图像缩放、图像旋转等,与滑动条配合使用,可参考文章:https://blog.csdn.net/didi_ya/article/details/122897518

    Qt中QString、QByteArray、int、double之间转换 - 苦涩的茶 - 博客园1

    首先,QString是Qt提供的一种用于处理文本字符串的类,支持Unicode字符集。QByteArray则是一个字节数组,常用于存储二进制数据,如网络传输的数据包。int和double是C++标准库中的基本数值类型。 1. int或double转...

    QT项目文件-跨类调用控件

    QT项目文件-跨类调用控件是QT编程中一个重要的概念,主要涉及的是如何在不同的C++类之间有效地通信,以便实现复杂的功能和界面交互。QT是一个强大的跨平台应用程序开发框架,它允许开发者创建丰富的图形用户界面和...

    VC工程转Qt工程文件的工具

    本文将详细介绍一个名为"VC工程转Qt工程文件的工具",它能帮助开发者实现这一转换过程。 该工具的核心功能是将VC的DSP(Digital Signal Processing,数字信号处理)工程文件转换为Qt的Pro工程文件。DSP工程文件是...

    linux下Qt在线文字转语音 demo.rar

    在"demo"项目中,可能包含了上述方法之一的实现,通过阅读代码,我们可以学习如何在Qt中启动线程、处理文本数据、控制音频播放,以及如何与系统TTS服务进行交互。此外,项目可能还涉及错误处理和用户界面设计,比如...

    GBK源码转UTF8格式(QT源码)

    QT提供了一些类和函数来处理字符串编码,如`QTextCodec`和`QString`。通过`QTextCodec::codecForName()`函数获取GBK或UTF-8的编码对象,然后使用`fromUnicode()`和`toUnicode()`方法进行转换。 3. **使用外部工具**...

    Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值

    在Qt开发中,字符编码转换是一项关键任务,尤其是在处理跨平台和多语言支持时。本文主要探讨了在Qt中如何进行UTF8、Unicode、GBK、ASCII、16进制字符和16进制数值之间的转换。 首先,让我们简单回顾一下各种编码...

Global site tag (gtag.js) - Google Analytics