鱼C论坛

 找回密码
 立即注册
查看: 984|回复: 5

[已解决]请问如何让读取出来的文本内容显示在界面中?

[复制链接]
发表于 2019-5-10 18:38:43 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 wrpython 于 2019-5-11 04:55 编辑

大家好,我先贴代码:
import tkinter as tk
from tkinter import ttk

with open('Test.log') as f:
    while True:
        line=f.readline()
        if line !="":
            list1=line.rstrip().split(',')
            size1=list1[3].split('=')
            if size1[1]=="100":
                print(line)
        if line == '':
            break

windows=tk.Tk()
tr=ttk.Treeview(windows)
tr['columns']=('Symbol','Type','Price','Size')
tr.column('Symbol',width=100)
tr.column('Type',width=100)
tr.column('Price',width=100)
tr.column('Size',width=100)
tr.heading('Symbol',text='Symbol')
tr.heading('Type',text='Type')
tr.heading('Price',text='Price')
tr.heading('Size',text='Size')
tr.pack()
        
windows.mainloop()
程序目的:
1.从一个文件中读取出对应的数据,显示出来
2.把读取出来的数据显示在写出来的界面中.

现在的问题:
我现在能读取出数据并打印出来,也写了需要的界面,但是却有如下问题:
1.不知道如何把这些数据同步更新到界面中
2.写出来的表格最左边有一个空白栏,没有找到消除的办法

能读取数据

能读取数据


请大家帮忙看看应该怎么解决这个问题,提供一下思路也是可以的,可以不用告诉我代码,谢谢各位大佬。

最佳答案
2019-5-10 18:38:44
import tkinter as tk
from tkinter import ttk

log_symbol = []
log_type = []
log_price = []
log_size = []
with open('Test.log') as f:
    for line in f:
        (sb, tp, pr,sz) = line[:-1].split(',')
        log_symbol.append(sb.split('=')[1])
        log_type.append(tp.split('=')[1])
        log_price.append(pr.split('=')[1])
        log_size.append(sz.split('=')[1])
    

windows=tk.Tk()
tr=ttk.Treeview(windows, show="headings") # 或tr['show'] = 'headings'
tr['columns']=('Symbol','Type','Price','Size')
tr.column('Symbol',width=100)
tr.column('Type',width=100)
tr.column('Price',width=100)
tr.column('Size',width=100)
tr.heading('Symbol',text='Symbol')
tr.heading('Type',text='Type')
tr.heading('Price',text='Price')
tr.heading('Size',text='Size')
tr.pack()

for i in range(len(log_symbol)): # 填充数据
    tr.insert('', i, values=(log_symbol[i], log_type[i], log_price[i], log_size[i]))
    
windows.mainloop()

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-10 18:38:44 | 显示全部楼层    本楼为最佳答案   
import tkinter as tk
from tkinter import ttk

log_symbol = []
log_type = []
log_price = []
log_size = []
with open('Test.log') as f:
    for line in f:
        (sb, tp, pr,sz) = line[:-1].split(',')
        log_symbol.append(sb.split('=')[1])
        log_type.append(tp.split('=')[1])
        log_price.append(pr.split('=')[1])
        log_size.append(sz.split('=')[1])
    

windows=tk.Tk()
tr=ttk.Treeview(windows, show="headings") # 或tr['show'] = 'headings'
tr['columns']=('Symbol','Type','Price','Size')
tr.column('Symbol',width=100)
tr.column('Type',width=100)
tr.column('Price',width=100)
tr.column('Size',width=100)
tr.heading('Symbol',text='Symbol')
tr.heading('Type',text='Type')
tr.heading('Price',text='Price')
tr.heading('Size',text='Size')
tr.pack()

for i in range(len(log_symbol)): # 填充数据
    tr.insert('', i, values=(log_symbol[i], log_type[i], log_price[i], log_size[i]))
    
windows.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-10 22:17:03 | 显示全部楼层
币也太少了吧。Test.log文件不上传下?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-5-11 09:12:55 | 显示全部楼层
ba21 发表于 2019-5-10 22:17
币也太少了吧。Test.log文件不上传下?

币不多,聊表心意

test.log的内容如下:

Symbol=HMST.NQ,Type=0,Price=28.22700,Size=10
Symbol=ALBO.NQ,Type=0,Price=34.89000,Size=100
Symbol=AAON.NQ,Type=0,Price=45.65000,Size=10
Symbol=RUSHA.NQ,Type=0,Price=43.78000,Size=100
Symbol=POWI.NQ,Type=0,Price=74.41000,Size=14
Symbol=LQDA.NQ,Type=0,Price=11.30000,Size=10
Symbol=DGICA.NQ,Type=0,Price=13.26000,Size=1
Symbol=SHEN.NQ,Type=0,Price=43.73000,Size=100
Symbol=BOCH.NQ,Type=0,Price=10.93000,Size=8
Symbol=SHEN.NQ,Type=0,Price=43.19000,Size=50
Symbol=ATRC.NQ,Type=0,Price=28.09000,Size=10
Symbol=PCB.NQ,Type=0,Price=18.16000,Size=40
Symbol=KVHI.NQ,Type=0,Price=10.42000,Size=10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-5-11 09:40:53 | 显示全部楼层
界面中的第一个空白栏搞清楚了,原来在创建表格时系统都会创建出左边第一个空白栏,称之为icon column, 只需要添加一行代码就可以去掉这个空白栏
t = ttk.Treeview(w)
t['show'] = 'headings'

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-5-11 09:41:39 | 显示全部楼层
界面中的第一个空白栏搞清楚了,原来在创建表格时系统都会创建出左边第一个空白栏,称之为icon column, 只需要添加一行代码就可以去掉这个空白栏
t = ttk.Treeview(w)
t['show'] = 'headings'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-17 11:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表