用pyqt5做一个能python程序能插入图片的ide

之前只是放到github上了,现在一想应该开源,大家想继续做好这个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')
    print(888888888888)
    print (arg)
    f.write(arg[0]) #我之前出错全是因为write里面不能写数字
                 #只能写字符串,这点跟print不一样.
    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)')
        #下面就是用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()
        print (text)
        self.textEdit.setText(text)
        i()
    def save(self):
        fileName2, ok2 = QFileDialog.getSaveFileName(self,  
                                    "文件保存",  
                                    "D:/",  
                                    "All Files (*);;Text Files (*.txt)")
        print (fileName2,ok2)
        my_text=self.textEdit.toHtml()
        print (my_text)
##        print (my_text)
        my_text=str(my_text)
        i(fileName2,my_text)
##        a=self.textEdit.toHtml()
##        file = open(filename2, 'w')
##        #这下面的write也不能跑
##        file.write(unicode(a))
##        file.close()
        #实在受不了这个save函数,it raise error whenever i use write command,i find out to make a function saveout
        
        
        

##        my_text=self.textEdit.toPlainText()
##        print (my_text)#这东西打印出来最后多一个obj是什么鬼,别人为什么好使??
##                        #试了半天还是不行,即使我把图片给删除了也不行.
##        filename=QFileDialog.getSaveFileName(self,'save file','C:/',"Text Files (*.txt)")
##        print (filename)
##        
##        
##        f=open(filename[0],'w')
##        
##        #就是下面的write出的毛病
##        print (my_text)
##        my_text=str(my_text)
##        print (my_text)
##        f.write(my_text)
##        f.close()#跟写的内容没关系,write什么都报错.








        
    def run(self):
        
        a=self.textEdit.toPlainText()
        
        
        f = open("file1.py", "w")  # 打开文件
        
        #下面这行write写不了??为什么是不是qt模块冲突
        f.write(a)
        exit()
        
        f.close()  #关闭文件
        

        b=os.getcwd()

        qiemulu='cd '+b

        a=os.system(qiemulu)
        #这个system模块如果返回是0就是正确,其他数就是错误
        os.system(qiemulu)


        #现在只能这样用这个方式调用回python自带的ide里面
        a=os.system("python file1.py")
        os.system("file1.py")





        
##        print (a)
##        print (type(a))
##        file = open('.\run.txt', 'w', 'utf-8')
##        
##        print (66)
##        file.write((a))
##        exit()
##        
##        file.close()  



        
  
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

只是做到了图片的现实和复制粘贴,保存html代码.还需要继续写.至于运行就是调用cmd应该就醒了.

转载于:https://www.cnblogs.com/zhangbo2008/p/8589840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值