编写代码,通过wxpython编写点击按钮打开本地文件,并在另一个文本框显示文件内容
时间: 2023-04-03 22:05:24 浏览: 138
您好,我可以回答这个问题。以下是代码示例:
```python
import wx
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(None, title='打开本地文件', size=(400, 300))
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
self.file_path_text = wx.TextCtrl(panel, style=wx.TE_READONLY)
self.file_content_text = wx.TextCtrl(panel, style=wx.TE_MULTILINE|wx.TE_READONLY)
open_button = wx.Button(panel, label='打开文件')
open_button.Bind(wx.EVT_BUTTON, self.on_open_button_click)
hbox1.Add(wx.StaticText(panel, label='文件路径:'), flag=wx.RIGHT, border=10)
hbox1.Add(self.file_path_text, proportion=1)
hbox1.Add(open_button, flag=wx.LEFT, border=10)
hbox2.Add(wx.StaticText(panel, label='文件内容:'), flag=wx.RIGHT, border=10)
hbox2.Add(self.file_content_text, proportion=1)
vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
vbox.Add(hbox2, proportion=1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
panel.SetSizer(vbox)
def on_open_button_click(self, event):
dlg = wx.FileDialog(self, message='选择文件', defaultDir='.', defaultFile='', wildcard='*.*', style=wx.FD_OPEN)
if dlg.ShowModal() == wx.ID_OK:
file_path = dlg.GetPath()
self.file_path_text.SetValue(file_path)
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
self.file_content_text.SetValue(content)
dlg.Destroy()
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
```
这段代码使用 wxpython 实现了一个窗口,其中包含一个文本框和一个按钮。当用户点击按钮时,会弹出一个文件选择对话框,用户可以选择本地的一个文件。选择文件后,文件路径会显示在文本框中,并且文件内容会显示在另一个文本框中。