鱼C论坛

 找回密码
 立即注册
查看: 1050|回复: 7

[已解决]关于在窗口中打印txt格式文件

[复制链接]
发表于 2020-3-25 16:55:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    我想把TXT读取出来并打印在一个窗口上,写了代码以后读取TXT文件内容,但是不知道怎么把这个读出来的TXT文件按照格式打印在我创建的窗口上,求大神指路

下面这段是读取TXT内容:
f = open('introduction.txt',encoding = 'utf-8')
while True:
    line = f.readline()
    if not line: break
    print(line)
f.close()

下面这段是我创建的窗口:
    # 这是一个顶级窗口
    introduction = Toplevel(app)
    introduction.geometry("900x900")
    introduction.title("简介")
最佳答案
2020-3-29 08:44:03
Label 组件可以显示文本。

代码如下(代码解析看下面的的注释):
from tkinter import * # Tk 和 Label 都在这个模块里

# 这是一个顶级窗口
# 不要写在循环里,不然会出现很多窗口
introduction = Tk() # 因为你这还没有一个根窗口,所以不能使用 Toplevel
introduction.geometry("900x900")
introduction.title("简介")

f = open('introduction.txt',encoding = 'utf-8')
while True:
    line = f.readline()
    if not line:
        break
    print(line)



    Label(introduction, text=line).pack() # 显示一个标签,文字为读取的那一行
    
f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 20:27:41 | 显示全部楼层
本帖最后由 _荟桐_ 于 2020-3-25 20:29 编辑

import easygui as g

try:
    f = input('打开文件:')
    f = open(f)
except FileNotFoundError:
    print('改文件不存在')
else:
    g.codebox(text = f,title = '\t哈哈\t')
f.close()

是这个意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 20:29:04 | 显示全部楼层
while True:
    line = f.readline()
    if not line: break
    print(line)
这里有点问题,如果文件中有换行符,就不会往下读取了
应改为for循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 20:41:24 From FishC Mobile | 显示全部楼层
你读取文件内容到变量,然后用你的界面库的文本显示控件的设置文字方法把变量设置上去就行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-28 23:16:53 | 显示全部楼层
_荟桐_ 发表于 2020-3-25 20:27
import easygui as g

try:

不是,读取TXT文件正常,能在终端界面正常返回文件内容,我就是想把这个文件打印在我的窗口上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-28 23:32:40 From FishC Mobile | 显示全部楼层
Shark丶 发表于 2020-3-28 23:16
不是,读取TXT文件正常,能在终端界面正常返回文件内容,我就是想把这个文件打印在我的窗口上

这个我就不太清楚了,因为我只学了easygui
界面。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 08:44:03 | 显示全部楼层    本楼为最佳答案   
Label 组件可以显示文本。

代码如下(代码解析看下面的的注释):
from tkinter import * # Tk 和 Label 都在这个模块里

# 这是一个顶级窗口
# 不要写在循环里,不然会出现很多窗口
introduction = Tk() # 因为你这还没有一个根窗口,所以不能使用 Toplevel
introduction.geometry("900x900")
introduction.title("简介")

f = open('introduction.txt',encoding = 'utf-8')
while True:
    line = f.readline()
    if not line:
        break
    print(line)



    Label(introduction, text=line).pack() # 显示一个标签,文字为读取的那一行
    
f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 10:39:04 | 显示全部楼层
我最先也是用的标签的思路,但是输出的文本全是一行没有换行的T.T
现在好啦,我再给窗口加个滚动条就OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-26 17:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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