pyqt基础练习(谷歌搜索)

‘‘‘ ps_Multimedia_play_sound1.py

explore the PySide QtMultimedia module to play a specified sound

modified PyQT code from:

http://www.diotavelli.net/PyQtWiki/Playing%20a%20sound%20with%20QtMultimedia

PySide is the official LGPL-licensed version of PyQT

for free PySide Windows installers see:

http://developer.qt.nokia.com/wiki/PySide_Binaries_Windows

or

http://www.lfd.uci.edu/~gohlke/pythonlibs/

tested with Python33 and Pyside112  by vegaseat  29jul2013

‘‘‘

from PyQt4.QtCore import *

from PyQt4.QtGui import *

from PyQt4.QtMultimedia import *

from math import pi, sin

import struct

class Window(QWidget):

def __init__(self, parent = None):

QWidget.__init__(self, parent)

# setGeometry(x_pos, y_pos, width, height)

self.setGeometry(300, 300, 400, 80)

self.setWindowTitle("Play a specified sound (2 seconds)")

format = QAudioFormat()

format.setChannels(1)

format.setFrequency(22050)

format.setSampleSize(16)

format.setCodec("audio/pcm")

format.setByteOrder(QAudioFormat.LittleEndian)

format.setSampleType(QAudioFormat.SignedInt)

self.output = QAudioOutput(format, self)

self.frequency = 100

self.volume = 15000

self.buffer = QBuffer()

self.data = QByteArray()

self.pitchSlider = QSlider(Qt.Horizontal)

self.pitchSlider.setMaximum(2000)

self.volumeSlider = QSlider(Qt.Horizontal)

self.volumeSlider.setMaximum(32767)

self.volumeSlider.setPageStep(1024)

self.volumeSlider.setValue(self.volume)

self.playButton = QPushButton("&Play")

self.pitch_label = QLabel()

self.pitchSlider.valueChanged.connect(self.changeFrequency)

self.volumeSlider.valueChanged.connect(self.changeVolume)

self.playButton.clicked.connect(self.play)

# layout managers ...

formLayout = QFormLayout()

formLayout.addRow("P&itch:", self.pitchSlider)

formLayout.addRow("&Volume:", self.volumeSlider)

buttonLayout = QVBoxLayout()

buttonLayout.addWidget(self.pitch_label)

buttonLayout.addWidget(self.playButton)

buttonLayout.addStretch()

horizontalLayout = QHBoxLayout(self)

horizontalLayout.addLayout(formLayout)

horizontalLayout.addLayout(buttonLayout)

self.changeFrequency()

def changeFrequency(self, value=0):

self.frequency = 100 + (value * 2)

s = "pitch = {} Hz".format(self.frequency)

self.pitch_label.setText(s)

def play(self):

if self.output.state() == QAudio.ActiveState:

self.output.stop()

if self.buffer.isOpen():

self.buffer.close()

self.createData()

self.buffer.setData(self.data)

self.buffer.open(QIODevice.ReadOnly)

self.buffer.seek(0)

self.output.start(self.buffer)

def changeVolume(self, value):

self.volume = value

def createData(self):

‘‘‘

create 2 seconds of data with 22050 samples per second,

each sample being 16 bits (2 bytes)

‘‘‘

self.data.clear()

for k in range(2 * 22050):

t = k / 22050.0

value = int(self.volume * sin(2 * pi * self.frequency * t))

self.data.append(struct.pack("<h", value))

# test the module

if __name__ == "__main__":

app = QApplication([])

window = Window()

window.show()

app.exec_()

时间: 2024-11-09 03:49:26

pyqt基础练习(谷歌搜索)的相关文章

转:谷歌搜索悄然转型争移动主导权

长期以来,谷歌的旗舰产品已经成为我们生活中习以为常的部分.但是谷歌没有懈怠,其搜索服务正悄然转型.谷歌搜索17年来一直都在变 “天空为什么是蓝的?”孩子们经常问会这个问题,但是很少有父母能够立刻给出答案.以前,人们可能在百科全书或去图书馆寻找答案.近年来,父母则可以冲向电脑,在谷歌搜索中输入这个问题,然后打开各种链接,阅读各种解释,最终给孩子答案. 但是到2015年,即使看似很迅速的电脑查询也很少有人去做了.因为与移动设备相比,在电脑上输入搜索问题答案更为复杂.你不仅要在众多链接中选择最相关的链

POJ 2704 Pascal&#39;s Travels (基础记忆化搜索)

Pascal's Travels Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5328   Accepted: 2396 Description An n x n game board is populated with integers, one nonnegative integer per square. The goal is to travel along any legitimate path from t

谷歌搜索的技巧

1.搜索基础 2.搜索框里直接进行数学计算 3.快捷键 Ctrl+F 在本页查找字符 Ctrl +/- 缩放网页 Ctrl  + L 选中地址栏 Ctrl + tab 切换标签页 Alt + tab 切换窗口

谷歌搜索语法

类似google的可以参考如下:谷歌搜索一:基本搜索1)可部分匹配也可完全匹配输入重要字词: 砀山鸭梨 2)完全匹配,需加双引号用引号将需要完全匹配的字词引起: "砀山鸭梨" 3)多个关键字或关系,需用OR连接在所需字词之间添加 OR: 批发 OR 特价 4)多个关键字且关系,需用空格连接在所需字词之间添加空格:批发 特价 5)数字范围,用两个点连接在数字之间加上两个句号并添加度量单位:2010..2011年(一个词).2010..2011 年(两个词) 6)过滤不需要的关键字,关键字

谷歌搜索镜像站

谷歌搜索地址: 谷歌在国内被墙了(f**k GFW),但工作中又必须用到google,分享我一直在用的谷歌镜像站:谷歌加加 http://guge.suanfazu.com/

学习pyqt 基础 3

PyQt4 中的布局管理器 布局管理就是我们在窗口中安排不见位置的方法.布局管理有两种工作方式:绝对定位方式和布局类别方式.一般来说,绝对布局方式用的较少,就像网页,现在不都什么流行响应式布局咩 布局类别方式 (layout classes) 使用布局类别方式的布局管理器比绝对定位方式的布局管理器更加灵活实用.它是窗口部件的首先布局管理方式.最基本的布局类别是QHBoxLayout和QVBoxLayout布局管理方式. class Boxlayout(QtGui.QWidget): def __

谷歌搜索 的几种方法

wen.lu回车即可进入谷歌搜索,速度还是比较快的,必要时网址前面要加上https. 输入201.86.233.217或95.168.222.25来访问谷歌搜索,在文本框中输入搜索值,即可搜索. --------------------------------以上2个可以用,以下其他方法  试了没用不知道你们有用没, 不需要拍,免费! 今年五月以来,GOOGLE产品全线被封,GOOGLE ADSENSE也被封打不开,导致站长们不能正常管理广告.而免费的FQ的方法竟然有一些黑心的淘宝卖家用来卖钱或

谷歌搜索的高级技巧

intext: 这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:红盟.将返回所有在网页正文部分包含"红盟"的网页 .allintext:使用方法和intext类似. intitle: 和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:红客.将返回所有网页标题中包含"红客"的网页.同理allintitle:也同intitle类似. cache: 搜索google里关于某些内容的缓存

一招搞定谷歌搜索、谷歌学术无法访问的问题

最近,谷歌搜索.谷歌学术"突然"无法访问了?我百思不得其解啊,禁不住想问一下:前辈们,你们这是要怎样?我们写个论文容易吗?怒火燃尽,言归正传,其实要解决这个问题也是很简单的,原理不赘述,直接上菜.以下谨代表个人意见,大仙们有好的方法记得留言共享讨论,谢谢! 方法一:修改hosts文件 首先,用记事本打开系统目录C:\Windows\System32\drivers\etc下的hosts文件: 然后,在hosts文件的最下方追加以下四个IP地址,保存,退出. 209.116.186.21

【转】google hacking 谷歌搜索方法简介

在csdn上看到的一篇博文,转过来了.地址在前面 原文: 搜索是一门艺术. 说起Google,可谓无人不知无人不晓.作为世界第一的搜索引擎,其强大的搜索功能,可以让你在瞬间找到你想要的一切.不过对于普通的计算机用户而言,Google是一个强大的搜索引擎:而对于黑客而言,则可能是一款绝佳的黑客工具.正因为google的检索能力强大,黑客可以构造特殊的关键字,使用Google搜索互联网上的相关隐私信息.通过Google,黑客甚至可以在几秒种内黑掉一个网站.这种利用Google搜索相关信息并进行入侵的