#注意在.py文件相同目录下放一个1.png做测试图片 #本质就是用html来实现图片 #写在前面的话:这个程序在python自带ide里面遇到bug就秒退,看不了提示信息 #解决方法如下: #用cmd 在文件目录里面执行python lastversion.py即可运行 #并且可以进行调试,会返回出错信息,比自带ide好多了. #总之:别用ide来调试. #English for upper Chinese: #use cmd 's command python lastversion.py to run this programe. #cause it's more convinient to debug from PyQt5 import QtWidgets from PyQt5.QtWidgets import QFileDialog from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QFileDialog from PyQt5 import QtWidgets from PyQt5.QtWidgets import QFileDialog import codecs import sys import os def i(a,*arg): f=open(a,'w') f.write(arg[0]) #我之前出错全是因为write里面不能写数字 #只能写字符串,这点跟print不一样.#这里面不要忘了写[0] f.close() pass class MyWindow(QtWidgets.QWidget): def __init__(self): super(MyWindow,self).__init__() self.resize(800,800) self.myButton = QtWidgets.QPushButton(self) self.myButton.setObjectName("myButton") self.myButton.setText("Open") self.myButton.clicked.connect(self.load) self.myButton2 = QtWidgets.QPushButton(self) self.myButton2.setObjectName("myButton") self.myButton2.setText("save") self.myButton2.clicked.connect(self.save) self.myButton2.move(200,0) self.myButton3 = QtWidgets.QPushButton(self) self.myButton3.setObjectName("myButton") self.myButton3.setText("run") self.myButton3.clicked.connect(self.run) self.myButton3.move(400,0) self.textEdit = QtWidgets.QTextEdit(self) self.textEdit.setGeometry(QtCore.QRect(10, 40, 801, 521)) self.textEdit.setObjectName("textEdit") self.textEdit.resize(1500,600) #write something self.textEdit.insertPlainText('print (42389)\r\n')#\r\n是换行 self.textEdit.insertPlainText('print (423893)\r\n') self.textEdit.insertPlainText('print (423893)\r\n') self.textEdit.insertPlainText('print (423893)\r\n') #下面就是用html语言来插入图片 self.textEdit.insertHtml('<img src=1.png>' ) #用html来保存就行了,利用下面4行测试了一下效果不错. def load(self): fileName1, filetype = QFileDialog.getOpenFileName(self, "选取文件", "D:/", "Text Files (*.txt)") #设置文件扩展名过滤,注意用双分号间隔 #read就是全读取这些都好使 text=open(fileName1,'r').read() self.textEdit.setText(text) def save(self): fileName2, ok2 = QFileDialog.getSaveFileName(self, "文件保存", "D:/", "All Files (*);;Text Files (*.txt)") my_text=self.textEdit.toHtml() my_text=str(my_text) i(fileName2,my_text)#i就是读入函数的本体. def run(self): a=self.textEdit.toPlainText() #obj代表图片. b='' for i in a: if i !='': b+=i a=b f = open("file1.py", "w") # 打开文件 #下面这行write写不了??为什么是不是qt模块冲突 f.write(a) f.close() #关闭文件 b=os.getcwd() #得到D:\桌面使用大全\repos #现在只能这样用这个方式调用cmd来运行python os.system('python '+b+'\\file1.py') if __name__=="__main__": f = open("file3.py", "w") # 打开文件 #下面这行write写不了??为什么是不是qt模块冲突 f.write('32131231111111111111111111') f.close() print (4324) app=QtWidgets.QApplication(sys.argv) myshow=MyWindow() myshow.show() sys.exit(app.exec_())
把图片1.png放在这个文件的同目录下,就会在文件里面看到这个图片,利用html来实现的.
目前还没发实现直接ctrl+v来插入图片.