Python 正在跳过QPixmap行
我有以下代码:Python 正在跳过QPixmap行,python,pyqt4,qpixmap,Python,Pyqt4,Qpixmap,我有以下代码: def run(self): filename = QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".inp") if filename == "": pass elif filename != "": nfile = open(filename, 'w') self.pixmap1 = QtG
def run(self):
filename = QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".inp")
if filename == "":
pass
elif filename != "":
nfile = open(filename, 'w')
self.pixmap1 = QtGui.QPixmap('yellow.jpg')
self.canvas1.setPixmap(self.pixmap1)
self.cursor.movePosition(self.cursor.Start, self.cursor.MoveAnchor)
self.cursor.movePosition(self.cursor.End, self.cursor.KeepAnchor)
text = self.cursor.selection()
text1 = text.toPlainText()
nfile.write(text1)
nfile.close()
fileInfo = QtCore.QFileInfo(filename)
name = fileInfo.baseName()
import os
os.system("rungms {}.inp 13-64 {} {} {}.out".format(name, self.cores_val, self.clusters_val, name))
from itertools import islice
import sys
with open("{}.out".format(name)) as searchfile:
for line in searchfile:
if 'TERMINATED NORMALLY' in line:
self.pixmap1 = QtGui.QPixmap('green.jpg')
self.canvas1.setPixmap(self.pixmap1)
elif 'job aborted' in line:
self.pixmap1 = QtGui.QPixmap('red.jpg')
self.canvas1.setPixmap(self.pixmap1)
else:
pass
else:
pass
我的问题是,在保存我的文件后,没有读取涉及QPixmap('yellow.jpg')
的两行代码。但是,如果我将这两行移到代码的第一行和第二行之间(即在filename=QtGui…)之前),那么它们就可以工作了
有人能给我解释一下为什么会这样吗?你怎么知道,他们没有被阅读?您是否已验证
filename
不是空的?附带说明:您不需要elif文件名!="": ... 否则:通过,因为如果文件名==”
为False,则elif路径始终为True。谢谢,x平方。我知道它们没有被读取,因为图像没有被插入self.canvas1中,而在代码后面这些行的其他实例中,图像(绿色和红色)在我运行程序时被插入。此外,当我在文件名前写下相应的行时,我的黄色图像会发生变化。。。def运行后(自我):我希望这是有意义的。