YLM*_*YLM 2 python text wxpython
我尝试导入一个 .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 面板小部件不会显示文本。您将需要为此使用 awx.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()
| 归档时间: | 
 | 
| 查看次数: | 2809 次 | 
| 最近记录: |