之前只是放到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. NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片

    --------------------- 本文来自 天水宇 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xxs77ch/article/details/50553 ...

  2. leetcode108

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  3. leetcode506

    public class Solution { public string[] FindRelativeRanks(int[] nums) { var list = nums.OrderByDesce ...

  4. 进程池(Pool)

    进程池用于进程维护, 当使用时,将会去进程池取数据 from multiprocessing import Pool, Processimport os, time def f(i): time.sl ...

  5. 3 Python 函数介绍

    1.函数的基本概念 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义 def ...

  6. UI5-文档-4.14-Custom CSS and Theme Colors

    有时我们需要定义一些更细粒度的布局,这时我们可以通过向控件添加自定义样式类来使用CSS的灵活性,并根据自己的喜好对它们进行样式化. Preview The space between the butt ...

  7. vc 读xml文件 宏

    自定义FOREACH循环,便于coding 在指定xml的nodelist b中遍历每个节点 #define FOREACH_NODE(a,b)\ long cnt = 0; \ CComPtr< ...

  8. tar 压缩文件指定目录

    tar -cjf /app/tmp/app/test.tar.bz2 -C /app/tmp  res_test.csv 将/app/tmp 目录下 res_test.csv文件压缩到/app/tmp ...

  9. nginx 无法访问root权限的文件内容

    问题: 按照的nginx,nginx配置的user  是 nginx,nginx 是root用户启动的.  文件夹A放的那啥是root用户上传的文件. 可 nginx 无法访问 到  文件. 方法: ...

  10. Mysql 5.8安装报错

    1 mysql安装过程中报下面这个错 解决方法:只要将目录改成反斜杠即可. 2 修改密码错误:ERROR 1064 (42000): You have an error in your SQL syn ...