import sys,time,os
from PyQt4 import QtGui
import sys
import random,string
from PyQt4 import QtCore
from PIL import Image
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.label1 = QtGui.QLabel(self)
self.label2 = QtGui.QLabel(self)
self.button = QtGui.QPushButton('Browse', self)
self.button.clicked.connect(self.showDialog)
self.button.move(250,65)
self.button2=QtGui.QPushButton('Scrambled',self)
self.button2.clicked.connect(self.s)
self.button2.move(90,650)
self.resize(800, 500)
self.button3 = QtGui.QPushButton('Descrambled', self)
self.button3.clicked.connect(self.de)
self.button3.move(1000,650)
self.setGeometry(300, 300, 1500, 1500)
self.setWindowTitle('Select Image')
self.le = QtGui.QLineEdit(self)
self.le.move(90, 65)
self.show()
def showDialog(self):
self.fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
'/home/merin/mainprj/1')
print '**********************'
self.le.setText(str(self.fname))
self.hbox = QtGui.QHBoxLayout(self)
myPixmap = QtGui.QPixmap(self.fname)
self.label1.setPixmap(myPixmap)
self.hbox.addWidget(self.label1)
self.setLayout(self.hbox)
self.move(1500,150)
def s(self):
os.system('$python scramble.py'+str(self.fname))
myPixmap2 = QtGui.QPixmap(self.fname)
print type(self.fname)
self.label2.setPixmap(myPixmap2)
self.hbox.addWidget(self.label2)
self.setLayout(self.hbox)
self.move(1500,150)
def de(self):
os.system('$python scramble.py '+str(self.fname))
myPixmap2 = QtGui.QPixmap(self.fname)
print type(self.fname)
self.label2.setPixmap(myPixmap2)
self.hbox.addWidget(self.label2)
self.setLayout(self.hbox)
self.move(1500,150)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
如何从pyqt调用python代码,如下面的c代码?
os.system('./txt+str(self.fname))
答案 0 :(得分:0)
exec / eval或制作翻译并通过翻译发送文本。
注意:这些操作不安全,可能会在代码中留下漏洞。
exec("some code")
或
使用更安全的ast文字eval。
import ast
ast.literal_eval("somecode")
制作python解释器https://docs.python.org/3.4/library/code.html。您还需要查找