wx 文件编辑框

# -*- coding: utf-8 -*-
import wx
import os
class my_frame(wx.Frame):
    """This is a simple text editor"""
    def __init__(self,parent, title):
        wx.Frame.__init__(self, parent, title=title,size=(300,200))
        self.control = wx.TextCtrl(self, -1,"请先打开要修改的文件", style=wx.TE_MULTILINE,)
        self.Show(True)
        self.CreateStatusBar()#创建窗口底部的状态栏

        filemenu = wx.Menu()
        menu_open = filemenu.Append(wx.ID_OPEN, "打开文件", " ")
        menu_save = filemenu.Append(wx.ID_SAVE, "保存修改",)
        menu_exit = filemenu.Append(wx.ID_EXIT, "Exit", "Termanate the program")
        filemenu.AppendSeparator()
        menu_about = filemenu.Append(wx.ID_ABOUT, "About", "Information about this program")#设置菜单的内容

        menuBar = wx.MenuBar()
        menuBar.Append(filemenu, "选项")
        self.SetMenuBar(menuBar)#创建菜单条
        self.Show(True)

        self.Bind(wx.EVT_MENU, self.on_open, menu_open)
        self.Bind(wx.EVT_MENU, self.on_about, menu_about)
        self.Bind(wx.EVT_MENU, self.on_exit, menu_exit)#把出现的事件,同需要处理的函数连接起来
        self.Bind(wx.EVT_MENU, self.on_save, menu_save)

    def on_about(self,e):#about按钮的处理函数
        dlg = wx.MessageDialog(self,"A samll text editor", "About sample Editor",wx.OK)#创建一个对话框,有一个ok的按钮
        dlg.ShowModal()#显示对话框
        dlg.Destroy()#完成后,销毁它。

    def on_exit(self,e):
        self.Close(True)

    def on_open(self,e):
        """open a file"""
        
        dlg = wx.FileDialog(self,
        message="Choose a file",
        defaultDir="", 
        defaultFile="",
        wildcard="*.*",
         style=wx.FD_OPEN | wx.FD_CHANGE_DIR)#调用一个函数打开对话框



        if dlg.ShowModal() == wx.ID_OK:
            self.filename = dlg.GetFilename()
            self.dirname = dlg.GetDirectory()
            self.address = os.path.join(self.dirname,self.filename)
            f = open(self.address,"r")
            file = (f.read())   #python3 不需要解码
            f.close()
            self.control.Clear()
            self.control.AppendText(file)#把打开的文件内容显示在多行文本框内
        dlg.Destroy()

    def on_save(self, e):
        date = (self.control.GetValue())    #python3 不需要编码
        f = open(self.address, 'w')
        f.write(date)
        f.close()#把文本框内的数据写入并关闭文件
        dlg = wx.MessageDialog(self, "文件已经成功保存", "消息提示", wx.OK)
        dlg.ShowModal()
        dlg.Destroy()
        self.control.Clear()
        self.control.AppendText('欢迎使用此软件,作者即刻')

app = wx.App(False)
frame = my_frame(None, '迷你文本编辑器')
app.MainLoop()

 

转载于:https://www.cnblogs.com/fzuhyj/p/9162948.html

### 回答1: 您好,关于您的问题,wx-else 无效的情况可能是因为在条件语句中没有加入相应的条件判断或者条件判断有误,您可以检查一下是否正确地书写了 wx-else 语句,并且是否在 wx-if 语句中嵌套了 wx-else 语句。另外,我们也建议您在代码编写的过程中多加注释,方便自己和他人对代码的理解和修改。希望能对您有所帮助。 ### 回答2: 如果wx-else在代码中显示无效,那通常是由于以下几个可能的原因引起的: 1. 缺少正确的条件语句:wx-else是在条件语句wx-if的后面使用的,确保你的wx-else是在正确的条件语句之后。如果没有条件语句或条件语句格式有误,那么wx-else将无法正常工作。 2. 条件判断错误:检查你在条件语句中的判断条件是否正确。如果判断条件不满足,那么wx-else也不会生效。确保你的判断条件符合预期并正确地触发wx-else的执行。 3. 使用了不同版本的小程序框架:wx-else是微信小程序框架的语法糖,如果你使用的是较老的框架版本,可能不支持或存在bug导致wx-else无效。尝试升级小程序框架到最新版本,以确保wx-else的正常工作。 4. CSS样式问题:在使用wx-else时,可能会存在CSS样式冲突的问题导致wx-else无法正确显示。查看wx-else所在的元素是否存在其他样式或布局设置,可能需要调整CSS样式以保证wx-else的可见性。 如果以上方法都无法解决问题,建议查看微信小程序开发文档或寻求相关开发者的帮助,以获得更具体和个性化的解决方案。 ### 回答3: 要解决wx-else无效的问题,可以尝试以下几种方法: 1. 检查语法错误:首先要检查wx-else标签是否正确地嵌套在wx-if标签的内部。确保wx-else标签的位置正确,且没有语法错误。 2. 检查条件判断:请确认wx-if标签中的条件表达式是否正确,确保其返回值为布尔类型。只有当条件表达式返回false时,wx-else才会生效。 3. 版本兼容性:检查小程序开发框架和组件库的版本是否兼容。某些较旧的版本可能无法正常解析wx-else标签。建议更新至最新版本以解决可能的兼容性问题。 4. 刷新页面或重启开发者工具:有时候wx-else无效可能只是暂时的问题,可能是由于开发者工具或编辑器的缓存问题。尝试刷新页面或重启开发者工具,看是否能够解决问题。 如果以上方法仍不起作用,可以尝试通过搜索相关问题的解决方案或在开发者社区进行提问,以获得更具体的帮助和解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值