之前只是放到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. Tensorflow线程和队列

    读取数据 小数量数据读取 这仅用于可以完全加载到存储器中的小的数据集有两种方法: 存储在常数中. 存储在变量中,初始化后,永远不要改变它的值. 使用常数更简单一些,但是会使用更多的内存,因为常数会内联 ...

  2. nslookup域名解析

    域名解析 nslookup docker.xxx.com.cn

  3. EXCEL 数组公式

    数组里的元素,同一行内的各元素用英文逗号“,”分开,用英文分号“;”将各行分开 3.单列数组与单行数组的计算 两个数组相加,查看结果是几行几列:在任意单元格输入公式“=A80:A83+B87:E87” ...

  4. VBA 浏览文件夹

    Private Function SelectFolder() As String        With Application.FileDialog(msoFileDialogFolderPick ...

  5. vue深入了解组件——处理边界情况

    一.访问元素&组件 在绝大多数情况下,我们最好不要触达另一个组件实例内部或手动操作DOM元素.不过也确实在一些情况下做这些事情是合适的. 1.1 访问根实例 在每个 new Vue 实例的子组 ...

  6. 关于gevent的一些理解(一)

    前言:gevent是python的一个并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效.而且其中有个monkey类, 将现有基于Python线程直接转化 ...

  7. Haskell语言学习笔记(69)Yesod

    Yesod Yesod 是一个使用 Haskell 语言的 Web 框架. 安装 Yesod 首先更新 Haskell Platform 到最新版 (Yesod 依赖的库非常多,版本不一致的话很容易安 ...

  8. 【348】通过 Numpy 创建各式各样的矩阵

    参考:NumPy之array-一个程序媛的自我修养-51CTO博客 参考:numpy中数组和矩阵的区别 - jiangsujiangjiang的博客 - CSDN博客 一.使用系统方法 二.用指定的数 ...

  9. Java Magic. Part 4: sun.misc.Unsafe

    Java Magic. Part 4: sun.misc.Unsafe @(Base)[JDK, Unsafe, magic, 黑魔法] 转载请写明:原文地址 系列文章: -Java Magic. P ...

  10. ArcGIS案例学习笔记1_1

    ArcGIS案例学习笔记1_1 联系方式:谢老师,135_4855_4328, xiexiaokui#qq.com 时间:第一天上午 准备 0.U盘复制ArcGIS培训*** 1.练习数据不要放到桌面 ...