抓紧时间写个项目:一个能插入图片的ide

#注意在.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_())
View Code

 把图片1.png放在这个文件的同目录下,就会在文件里面看到这个图片,利用html来实现的.

目前还没发实现直接ctrl+v来插入图片.

猜你喜欢

转载自www.cnblogs.com/zhangbo2008/p/9163675.html