我有一个使用PyQt的Python程序,旨在在Windows上运行.该程序进行了大量操作并打印了大量信息.但是,由于我想要冻结它并且不希望出现提示屏幕,我希望所有信息都显示在主应用程序中,在QTextEdit中.我如何使程序工作,以便从解释器获取输出并同时在textEdit上显示它,就像在真正的解释器上一样?
以下是我的代码的一部分,它发送了一封电子邮件:
servidor = smtplib.SMTP()
servidor.connect(HOST, PORT)
servidor.login(user, usenha)
assunto = str(self.lineEdit.text())
para = str(globe_email)
texto = self.textEdit.toPlainText()
textos = str(texto)
corpo = MIMEText(textos.encode('utf-8'), _charset='utf-8')
corpo['From'] = user
corpo['To'] = para
corpo['Subject'] = assunto
servidor.sendmail(user, [para], corpo.as_string())
Run Code Online (Sandbox Code Playgroud)
除了主题部分外,一切都很好.当我尝试发送带有特殊字符的字符串(例如"ação")时,会引发此错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
如何在MIMEText的主题中发送带有特殊字符的电子邮件?
我想创建一个简单的脚本来测试计算机执行它的时间.我已经使用PyQt构建它并使用QTimer进行了一个有点循环.现在我需要"忙碌"的一部分.我可以使用什么样的命令来使计算机工作一点,这样我就可以节省时间并与其他计算机进行比较?
这是我的代码,所以你可以更好地理解:
self.Tempo = QtCore.QTimer(None)
self.Cron = QtCore.QTime(0,0,0,0)
def begin():
self.Cron.start()
self.Tempo.singleShot(999, update)
def update():
if self.lcdNumber.value() == 10:
finish()
else:
self.lcdNumber.display(self.lcdNumber.value()+1)
#Here I want to make some processing stuff
self.Tempo.singleShot(999, update)
def finish():
print("end")
took = self.Cron.elapsed() / 1000
print("took: {0} seconds" .format(str(took)))
self.lcdNumber_2.display(took)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PythonAnywhere.com的web.py平台制作一个简单的Web脚本.我的目的是创建一个simples Form,它可以获取文本框的数据,并且可以像使用PHP一样使用它们.这是我的主要脚本:
import web
from web import form
import MySQLdb
render = web.template.render('/home/user/templates/')
conn = MySQLdb.connect("mysql.server","user","*********","userdb")
curs = conn.cursor()
curs.execute('''create table if not exists Dados (
id int not null auto_increment primary key,
nome varchar(200),
item1 varchar(50),
item2 varchar(50),
item3 varchar(50),
item4 varchar(50),
item5 varchar(50));
''')
urls = (
'/', 'index'
)
formula = form.Form(
form.Textbox('Nome', id='nome'),
form.Textbox('Item 1', id='it1'),
form.Textbox('Item 2', id='it2'),
form.Textbox('Item 3', id='it3'),
form.Textbox('Item 4', id='it4'),
form.Textbox('Item 5', id='it5'),
)
class index:
def GET(self):
form = formula() …Run Code Online (Sandbox Code Playgroud) 当按下按钮时,我正试图在我的软件上播放单个mp3文件.这是我如何做到的:
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), playsong)
Run Code Online (Sandbox Code Playgroud)
和功能:
def playsong():
m_media = Phonon.MediaObject()
m_media.setCurrentSource(Phonon.MediaSource("files/song.mp3"))
m_media.play()
Run Code Online (Sandbox Code Playgroud)
这不会引起任何错误.但这首歌不会播放.我在C++中看过很多例子,有些在python中有很多歌曲和播放列表等等.我只想播放一首歌,我错过了什么?