之前只是放到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()
print (arg)
f.write(arg[]) #我之前出错全是因为write里面不能写数字
#只能写字符串,这点跟print不一样.
f.close()
pass
class MyWindow(QtWidgets.QWidget):
def __init__(self):
super(MyWindow,self).__init__()
self.resize(,)
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(,)
self.myButton3 = QtWidgets.QPushButton(self)
self.myButton3.setObjectName("myButton")
self.myButton3.setText("run")
self.myButton3.clicked.connect(self.run)
self.myButton3.move(,) self.textEdit = QtWidgets.QTextEdit(self)
self.textEdit.setGeometry(QtCore.QRect(, , , ))
self.textEdit.setObjectName("textEdit")
self.textEdit.resize(,) #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[],'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 ()
## file.write((a))
## exit()
##
## file.close() if __name__=="__main__": f = open("file3.py", "w") # 打开文件 #下面这行write写不了??为什么是不是qt模块冲突
f.write('')
f.close()
print () app=QtWidgets.QApplication(sys.argv)
myshow=MyWindow()
myshow.show()
sys.exit(app.exec_())

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

用pyqt5做一个能python程序能插入图片的ide的更多相关文章

  1. fir.im Weekly - 如何做一个出色的程序员

    做一个出色的程序员,困难而高尚.本期 fir.im Weekly 精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和有意思有质量的线下活动~ How ...

  2. 做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk

    前言:”懒”在这里当然不是贬义词,而是追求高效,拒绝重复劳动的代名词!做一个懒COCOS2D-X程序猿的系列文章将教会大家在工作中如何偷懒,文章篇幅大多较短,有的甚至只是几行代码,争取把懒发挥到极致! ...

  3. [daily][optimize] 一个小python程序的性能优化 (python类型转换函数引申的性能优化)

    前天,20161012,到望京面试.第四个职位,终于进了二面.好么,结果人力安排完了面试时间竟然没有通知我,也没有收到短信邀请.如果没有短信邀请门口的保安大哥是不让我进去大厦的.然后,我在11号接到了 ...

  4. NetAnalyzer笔记 之 三. 用C++做一个抓包程序

    [创建时间:2015-08-27 22:15:17] NetAnalyzer下载地址 经过前两篇的瞎扯,你是不是已经厌倦了呢,那么这篇让我们来点有意思的吧,什么,用C#.不,这篇我们先来C++的 Wi ...

  5. 如何用C#做一个悬浮窗口程序

    用C#做一个像FlashGet的悬浮窗口,其实很简单,不像以前需要调用很多系统API.大致的步骤如下. 首先是主窗体部分,即要判断窗体的状态来决定是否显示悬浮窗口. 局部成员声明: private F ...

  6. python 向excel 插入图片

    这是工作中一个真实的需求. 要做gt excel 表,表中要插入图片. 1.要把图片resize 基本相同的大小. 2.通过一下脚本插入图片到excel #!/usr/bin/env python3 ...

  7. 使用python做一个爬虫GUI程序

    整体思路和之前的一篇博客爬虫豆瓣美女一致,这次加入了图片分类,同时利用tkinter模块做成GUI程序 效果如下: 整体代码如下: # -*- coding:utf-8 -*- import requ ...

  8. 做一个合格的程序员之浅析Spring AOP源代码(十八) Spring AOP开发大作战源代码解析

    事实上上一篇文章价值非常小,也有反复造轮子的嫌疑,网上AOP的实例非常多,不胜枚举,事实上我要说的并非这个,我想要说的就是上一节中spring的配置文件: 我们这边并没实用到我们上几节分析的哪几个AO ...

  9. 用pyqt5做一个简易的音乐播放器

    需求 要求可以读取音频文档,有播放和暂停的功能 附上代码(1)UI界面 # -*- coding: utf-8 -*- # Form implementation generated from rea ...

随机推荐

  1. IP分组交付和转发

    1:交付 网络层监视底层物理网络对分组的处理过程叫做交付,分为直接交付和间接交付 1.1:直接交付 直接交付时,分组的终点是一台与交付着连接在同一个网络上的主机,发生在俩种情况下,分组的源点和终点都在 ...

  2. three添加和移除对象

    创建场景在第一章的地方就讲过怎么样创建一个最基本的场景,这里不重复了html:部分 <!doctype html><html lang="en"><h ...

  3. spring quartz 任务注入spring service

    SchedulerFactoryBean+AdaptableJobFactory+QuartzJobBean package schedule.quartz5; import org.quartz.S ...

  4. Astah professional 7.2

    分享Astah professional 7.2下载和破解: 官方下载地址:http://astah.net/download 1.免费的community版本 链接:http://pan.baidu ...

  5. as3 文档类判断是否被加载

    if (!stage) { trace(("被加载->this.parent:" + this.parent)); }else { trace(("单独打开-> ...

  6. 没有装delphi软件则须修改程序的Uses单元,去掉QDialogs qtintf.dll

    转: 花了几天的功夫,终于完成了一个delphi调用webservice(C#)的任务,发现了好多问题,不过还是解决了,和大家分享一下.首先,就是调用时一个问题,如果你的webservice没有数据库 ...

  7. Life is in the little things --- Spreading wildly on Facebook

    这是在FaceBook上疯传的一组图 简笔画的图画的不算精细 但却狠狠地击中许多人的心灵   有时候生活中简单的一件小事, 恰恰是使得你的人生变得更有意义的一件大事! 别人总告诉你 人生是这样的 ▼ ...

  8. Eclipse中Ctrl+Shift+f快捷键无效的解决方式

    某天突然发现idea非常重要的快捷键ctrl+shift+f无效了,网上搜了很多都说是qq快捷键冲突,但是找了下qq快捷键却没有解决,现在给大家一个解决快捷键冲突的思路: 1.查看QQ快捷键--> ...

  9. Cache Lucene IndexReader with Apache Commons Pool

    IndexReaderFactory.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...

  10. poi转geohash

    import geohashimport sysfor line in sys.stdin: fields = line.strip().split('\t') hostid,POS_TIME,POS ...