热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Wxpython图形界面

import wximport osfrom PIL import Imagefrom predict import predict #这是我的py文件#主框架class my_frame(wx.F

import wx
import os
from PIL import Image
from predict import predict #这是我的py文件#主框架
class my_frame(wx.Frame):def __init__(self, parent, title):wx.Frame.__init__(self, parent, title=title, size=(500, 300))self.Show(True)#按钮区域panel1 = wx.Panel(self,pos = (170,330), size=(100, 40))#文本区域panel2 = wx.Panel(self,pos = (580,0), size=(660, 630))#按钮区域panel4 = wx.Panel(self,pos = (350,330), size=(100, 40))#两个按钮b1 = wx.Button(panel1, label="选择识别图片", size=(100, 40))b2 = wx.Button(panel4, label="开始识别图片", size=(100, 40))#按钮关联操作b1.Bind(wx.EVT_BUTTON, self.on_open)b2.Bind(wx.EVT_BUTTON, self.detect)#文本区域相关操作vbox2 = wx.BoxSizer(wx.VERTICAL)self.text = wx.TextCtrl(panel2, style=wx.TE_MULTILINE, size=(660, 630))font = wx.Font(15, wx.MODERN, wx.NORMAL, wx.NORMAL, False, 'Consolas')self.text.SetFont(font)vbox2.Add(self.text, 1, flag=wx.ALL | wx.EXPAND, border=10)panel2.SetSizer(vbox2)#返回识别结果def detect(self, e):result,time = predict(path)self.text.AppendText(u"===================================\n")self.text.AppendText(u"用时{:.5}s,".format(time) + "识别结果:" +'\n'+result+'\n')self.text.AppendText(u"===================================\n")#打开文件def on_open(self, e):dlg = wx.FileDialog(self, u"请选择一个图片", 'mnist_test', "", "*.*", wx.FD_OPEN)# 调用一个函数打开对话框if dlg.ShowModal() == wx.ID_OK:#这里有个问题,就是图片显示在panel区域后出现打开新一张图片#但上一张还存在的现象,因为没找到解决方法没所以就,把图片调成一样大小,盖住....#可以不把图片显示在一个frame里,这样就可以随时关闭打开的图片image = wx.Image(dlg.GetPath()).Rescale(400, 50)#显示图片在一个新paneltemp = image.ConvertToBitmap()Size = temp.GetWidth(), temp.GetHeight()panel3 = wx.Panel(self,pos = (120,110), size=Size)bmp = wx.StaticBitmap(parent=panel3, bitmap=temp)#这里设置全局变量是因为上面的函数要用这个变量global pathpath = dlg.GetPath()dlg.Destroy()app = wx.App()
frame = my_frame(None, '基于TensorFlow的CRNN文本识别')
app.MainLoop()

效果:
在这里插入图片描述
总结
颇有一种东拼西凑质感。。。
算了,继续加油。


推荐阅读
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 本文详细介绍了如何使用Python的多进程技术来高效地分块读取超大文件,并将其输出为多个文件。通过这种方式,可以显著提高读取速度和处理效率。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
author-avatar
好久不见.Mr
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有