Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件显示_Python_File - Fatal编程技术网

Python文件显示

Python文件显示,python,file,Python,File,我对Python完全陌生,所以我不知道从哪里开始。我的要求似乎很直截了当。我在一个SCO UNIX框中有一个文件,其中包含一个不超过3位的数字。我需要的是一个程序,它将读取此文件,并在800 x 600分辨率的显示器上全屏显示数字。然后程序需要休眠60秒,然后再次读取文件并显示新的数字 提前感谢,, Dave我很无聊,下面是一些代码,可以让您开始学习: import threading, time import tkinter as tk class GUI(tk.Frame): de

我对Python完全陌生,所以我不知道从哪里开始。我的要求似乎很直截了当。我在一个SCO UNIX框中有一个文件,其中包含一个不超过3位的数字。我需要的是一个程序,它将读取此文件,并在800 x 600分辨率的显示器上全屏显示数字。然后程序需要休眠60秒,然后再次读取文件并显示新的数字

提前感谢,,
Dave

我很无聊,下面是一些代码,可以让您开始学习:

import threading, time
import tkinter as tk

class GUI(tk.Frame):
    def __init__(self):

        self.root = tk.Tk()
        self.root.attributes("-fullscreen", True)

        self.root.bind("<Escape>", self.exit_fullscreen) # Press Esc to exit full screen mode

        file_name = "./test.txt" # This is the file being read

        self.value = tk.StringVar()
        self.value_label = tk.Label(self.root, textvariable = self.value, font=(None, 40))
        self.value_label.pack(padx = 40, pady = 40)

        t = threading.Thread(target = self.read_value, args = (file_name,))
        t.start()
        self.root.mainloop()

    def exit_fullscreen(self, e):
        self.root.attributes("-fullscreen", False)

    def read_value(self, file_name):
        while True:
            with open(file_name) as read_file:
                self.value.set(read_file.read())
            time.sleep(60)

GUI()
导入线程,时间
将tkinter作为tk导入
类GUI(tk.Frame):
定义初始化(自):
self.root=tk.tk()
self.root.attributes(“-fullscreen”,True)
self.root.bind(“,self.exit_全屏)#按Esc退出全屏模式
file_name=“./test.txt”#这是正在读取的文件
self.value=tk.StringVar()
self.value_label=tk.label(self.root,textvariable=self.value,font=(无,40))
self.value_label.pack(padx=40,pady=40)
t=threading.Thread(target=self.read\u值,args=(文件名,))
t、 开始()
self.root.mainloop()
def exit_全屏(自我,e):
self.root.attributes(“-fullscreen”,False)
def读取值(自身、文件名):
尽管如此:
打开(文件名)作为读取文件:
self.value.set(read_file.read())
时间。睡眠(60)
GUI()
我发现在使用线程运行其他功能时,更容易保持GUI的响应性,但这里有另一种不使用线程的方法:

import tkinter as tk

class GUI(tk.Frame):
    def __init__(self):

        self.root = tk.Tk()
        self.root.attributes("-fullscreen", True)

        self.root.bind("<Escape>", self.exit_fullscreen) # Press Esc to exit full screen mode

        self.refresh_time = 60 # The refresh time in seconds
        self.file_name = "./test.txt" # This is the file being read

        self.value = tk.StringVar()
        self.value_label = tk.Label(self.root, textvariable = self.value, font=(None, 40))
        self.value_label.pack(expand = True)

        # starts self.read_value with a 100ms delay to give self.root time to start
        self.root.after(100, self.read_value)
        self.root.mainloop()

    def exit_fullscreen(self, e):
        self.root.attributes("-fullscreen", False)

    def read_value(self):
        with open(self.file_name) as read_file:
            self.value.set(read_file.read())
        # calls the function again after self.refresh_time (in ms)
        self.root.after(self.refresh_time * 1000, self.read_value)

GUI()
将tkinter作为tk导入
类GUI(tk.Frame):
定义初始化(自):
self.root=tk.tk()
self.root.attributes(“-fullscreen”,True)
self.root.bind(“,self.exit_全屏)#按Esc退出全屏模式
self.refresh_time=60#刷新时间(秒)
self.file_name=“./test.txt”#这是正在读取的文件
self.value=tk.StringVar()
self.value_label=tk.label(self.root,textvariable=self.value,font=(无,40))
self.value\u label.pack(expand=True)
#以100ms延迟启动self.read_值,给self.root启动时间
self.root.after(100,self.read_值)
self.root.mainloop()
def exit_全屏(自我,e):
self.root.attributes(“-fullscreen”,False)
def读取_值(自身):
打开(self.file_name)作为读取文件:
self.value.set(read_file.read())
#在self.refresh\u时间(毫秒)后再次调用函数
self.root.after(self.refresh\u time*1000,self.read\u值)
GUI()

Stackoverflow不是一种代码编写服务,因此您的问题在这里是离题的。您能告诉我有关Tkinter函数及其选项的最佳资源吗?我已成功更改了字体、字体大小、背景色和前景色。我的文本在屏幕宽度内居中,但我如何使其在屏幕深度内居中,记住我们在全屏模式下使用它。
self.value\u label.pack(expand=True)
应该在这里起作用。添加了一个非线程方法,只是为了让您了解使用tkinter可以做的事情。不起作用。我显示的字段仍在屏幕顶部。我需要它在屏幕高度内居中。