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实现了迅雷9新建任务窗口的效果 ,复制下载url到输入框,能够自动解析下载文件信息,即根据Url获取文件信息的功能.
用Qt实现了迅雷9新建任务窗口的效果 ,复制下载url到输入框,能够自动解析下载文件信息,即根据Url获取文件信息的功能,项目工程是基于VS2013,其他版本可以直接拷贝目录下文件新建工程后附件文件即可。
QT的QPropertyAnimation类可以用来创建这种动画,它允许你对Qt对象的属性进行动画处理。例如,你可以设置一个动画来改变Widget的rotation属性,从而实现旋转效果。 为了平滑地在多个Widget间切换,你需要维护一个...
【Qt文字转语音技术详解】 Qt是一个跨平台的C++应用程序开发框架,广泛应用于桌面、移动和嵌入式系统的GUI设计。在Qt中实现文字转语音(Text-to-Speech,TTS)功能,主要是通过调用系统底层的语音合成引擎来实现的...
`QUrl`是QT中的一个类,用于表示统一资源定位符,即URL,它是访问网络资源的基础。 为了使`QLabel`具有点击打开URL的功能,我们可以重载`QLabel`的`mousePressEvent`事件,这样当用户点击`QLabel`时,就可以触发...
首先,QT中的QNetworkAccessManager类是进行网络请求的核心组件,它可以处理HTTP、HTTPS等各种网络请求。在我们的项目中,我们需要创建一个QNetworkAccessManager实例,用于发起下载请求: ```cpp ...
QT3转QT4总结 QT3和QT4架构上的区别是非常重要的,了解这些区别是QT3转QT4的关键。下面我们将总结QT3和QT4架构上的主要区别,并提供QT3转QT4的方法步骤和技巧。 Designer中的区别 1. 控件名称的变化:QT3中的...
2. **导出类**:在Qt中,如果你希望在动态库中定义的类能在其他模块或应用中使用,你需要使用特定的宏来声明这些类为“导出”。对于C++,这通常是通过`Q_DECL_EXPORT`和`Q_DECL_IMPORT`宏来实现的。导出类允许你在库...
QtQuick 的模块化设计允许我们将风车组件封装成可重用的 QML 类。通过 `import` 语句,可以在其他 QML 文件中引入并实例化这个组件。这使得代码更易于维护和扩展。 ### 6. Qt Quick Controls 2 和 QtQuick 3D 虽然...
3. **QPrinter和QPainter**:QPrinter是Qt中用于处理打印任务的类,而QPainter则是一个用于绘图的基础类,支持矢量图形和文本输出。在HTML转PDF的过程中,QPrinter被用来设置PDF输出的参数,如纸张大小、方向等,...
"Qt5类继承关系图"是一个重要的参考资料,它直观地展示了Qt5库中各个类之间的关系,有助于开发者理解和使用Qt5的各种组件。 这个PDF文档很可能包含了Qt5的主要模块,如Qt Widgets、Qt GUI、Qt Network、Qt Database...
在“Qt语音合 成 文字转语音”这个主题中,我们将深入探讨如何利用Qt结合微软的Speech SDK(Speech Synthesis API)来实现文本转语音(TTS)的功能,以及如何支持中英混合输出。 首先,我们需要了解Qt中的QSound或...
总的来说,"qt翻译文件与Excel互转工具"是Qt开发者进行国际化项目时的一个实用辅助工具,通过提供更友好的编辑界面,促进了翻译工作的顺利进行。它不仅适用于Qt项目的本地化,也对其他需要多语言支持的项目具有参考...
Qt案例,利用QImage类实现对图像的基本操作,包括图像显示、图像缩放、图像旋转等,与滑动条配合使用,可参考文章:https://blog.csdn.net/didi_ya/article/details/122897518
首先,QString是Qt提供的一种用于处理文本字符串的类,支持Unicode字符集。QByteArray则是一个字节数组,常用于存储二进制数据,如网络传输的数据包。int和double是C++标准库中的基本数值类型。 1. int或double转...
QT项目文件-跨类调用控件是QT编程中一个重要的概念,主要涉及的是如何在不同的C++类之间有效地通信,以便实现复杂的功能和界面交互。QT是一个强大的跨平台应用程序开发框架,它允许开发者创建丰富的图形用户界面和...
本文将详细介绍一个名为"VC工程转Qt工程文件的工具",它能帮助开发者实现这一转换过程。 该工具的核心功能是将VC的DSP(Digital Signal Processing,数字信号处理)工程文件转换为Qt的Pro工程文件。DSP工程文件是...
在"demo"项目中,可能包含了上述方法之一的实现,通过阅读代码,我们可以学习如何在Qt中启动线程、处理文本数据、控制音频播放,以及如何与系统TTS服务进行交互。此外,项目可能还涉及错误处理和用户界面设计,比如...
QT提供了一些类和函数来处理字符串编码,如`QTextCodec`和`QString`。通过`QTextCodec::codecForName()`函数获取GBK或UTF-8的编码对象,然后使用`fromUnicode()`和`toUnicode()`方法进行转换。 3. **使用外部工具**...
在Qt开发中,字符编码转换是一项关键任务,尤其是在处理跨平台和多语言支持时。本文主要探讨了在Qt中如何进行UTF8、Unicode、GBK、ASCII、16进制字符和16进制数值之间的转换。 首先,让我们简单回顾一下各种编码...