gpt4 book ai didi

python - 在 wxpython 中导入并显示一个 .txt 文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:40 25 4
gpt4 key购买 nike

我尝试导入一个 .txt 文件并将其值显示到 wxpython 面板中。

但首先我需要能够导入数据,而我卡在了这一点上。作为测试,我尝试了:

#!/usr/bin/env python
#.*. coding: utf-8 .*.

f = open('data.txt', "r")
lines = f.readlines()

for line in lines:
words = line.split("-")

当我运行它时,我没有收到错误,但 shell 中什么也没有发生。感谢您的帮助!

最佳答案

wxPython 面板小部件不会显示文本。您将需要为此使用 wx.TextCtrl 或者可能需要使用富文本控件小部件。这是一个最小的例子:

import os
import wx

class MyPanel(wx.Panel):

def __init__(self, parent):
wx.Panel.__init__(self, parent)

self.my_text = wx.TextCtrl(self, style=wx.TE_MULTILINE)
btn = wx.Button(self, label='Open Text File')
btn.Bind(wx.EVT_BUTTON, self.onOpen)

sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.my_text, 1, wx.ALL|wx.EXPAND)
sizer.Add(btn, 0, wx.ALL|wx.CENTER, 5)

self.SetSizer(sizer)

def onOpen(self, event):
wildcard = "TXT files (*.txt)|*.txt"
dialog = wx.FileDialog(self, "Open Text Files", wildcard=wildcard,
style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)

if dialog.ShowModal() == wx.ID_CANCEL:
return

path = dialog.GetPath()

if os.path.exists(path):
with open(path) as fobj:
for line in fobj:
self.my_text.WriteText(line)


class MyFrame(wx.Frame):

def __init__(self):
wx.Frame.__init__(self, None, title='Text File Reader')

panel = MyPanel(self)

self.Show()

if __name__ == '__main__':
app = wx.App(False)
frame = MyFrame()
app.MainLoop()

关于python - 在 wxpython 中导入并显示一个 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com