Shark丶 发表于 2020-3-25 16:55:42

关于在窗口中打印txt格式文件

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

下面这段是读取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-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()

是这个意思吗?

_荟桐_ 发表于 2020-3-25 20:29:04

while True:
    line = f.readline()
    if not line: break
    print(line)
这里有点问题,如果文件中有换行符,就不会往下读取了
应改为for循环

hrp 发表于 2020-3-25 20:41:24

你读取文件内容到变量,然后用你的界面库的文本显示控件的设置文字方法把变量设置上去就行了。

Shark丶 发表于 2020-3-28 23:16:53

_荟桐_ 发表于 2020-3-25 20:27
import easygui as g

try:


不是,读取TXT文件正常,能在终端界面正常返回文件内容,我就是想把这个文件打印在我的窗口上

_荟桐_ 发表于 2020-3-28 23:32:40

Shark丶 发表于 2020-3-28 23:16
不是,读取TXT文件正常,能在终端界面正常返回文件内容,我就是想把这个文件打印在我的窗口上

这个我就不太清楚了,因为我只学了easygui
界面。。。

lixiangyv 发表于 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()

Shark丶 发表于 2020-4-1 10:39:04

我最先也是用的标签的思路,但是输出的文本全是一行没有换行的T.T
现在好啦,我再给窗口加个滚动条就OK了{:5_91:}
页: [1]
查看完整版本: 关于在窗口中打印txt格式文件