Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 如何按需在窗口中显示word_Python_Tkinter - Fatal编程技术网

Python 如何按需在窗口中显示word

Python 如何按需在窗口中显示word,python,tkinter,Python,Tkinter,我是新来的。我有运行循环的代码,有时会找到我关心的单词。然后将其打印到屏幕上。我想把这个词印在一个空白窗口的中央,以获得更戏剧性的效果。最简单的方法是什么?我正在查看教程代码: from tkinter import * import time class App(Frame): def __init__(self,master=None): Frame.__init__(self, master) self.master = master

我是新来的。我有运行循环的代码,有时会找到我关心的单词。然后将其打印到屏幕上。我想把这个词印在一个空白窗口的中央,以获得更戏剧性的效果。最简单的方法是什么?我正在查看教程代码:

from tkinter import *
import time

class App(Frame):
    def __init__(self,master=None):
        Frame.__init__(self, master)
        self.master = master
        self.label = Label(text="", fg="Red", font=("Helvetica", 18))
        self.label.place(x=50,y=80)
        self.update_clock()

    def update_clock(self):
        now = time.strftime("%H:%M:%S")
        self.label.configure(text=now)
        self.after(1000, self.update_clock)



root = Tk()
app=App(root)
root.wm_title("Tkinter clock")
root.geometry("200x200")
root.after(1000, app.update_clock)
root.mainloop()
这似乎是基于一个事件循环。相反,我希望能够按需打印一个新词。例如,如果我有一个返回单词的函数

listofwordstodisplay = ['apple', 'banana', 'kiwi', 'pear']
def word(idx):
    return listofwordstodisplay[idx]

如果可能的话,我希望能够执行类似于显示(word(2))的操作。

最简单的方法是创建标签,然后使用配置功能修改其文本

from tkinter import *

listofwordstodisplay = ['apple', 'banana', 'kiwi', 'pear']
def word(idx):
    return listofwordstodisplay[idx]

root=Tk()
label=Label(root)
label.pack()

label.configure(text=word(2))

root.mainloop()

可以放在窗口中间吗?是的,使用标签。包(Cux= Center,Cusith= true)。之后,标签将根据窗口大小自动居中