如何从单独的python脚本调用tk.Label

时间:2019-05-07 21:33:40

标签: python-2.7 tkinter

我有一个设置tkinter窗口并尝试制作标题标签的python脚本。当我自己运行此脚本时,它可以工作。 我还有另一个脚本,它具有自己的tkinter窗口,该窗口具有一个调用其他脚本的按钮。当我通过该按钮调用其他脚本时,仍然会出现一个新窗口和标签框架,但其中不包含任何文本。

我认为这与在两个脚本中使用相同的变量“ title”有关,但是我简化了第一个tkinter窗口,使其除了按钮外没有其他任何东西。

my_second_script.py VVVV

import Tkinter as tk

def build_title_widget():
    title2 = tk.StringVar()
    title2_label = tk.Label(sub, textvariable = title2, padx = 10, pady = 10,
                            fg = 'Midnight Blue', bg = 'white')
    title2.set('Hello World!')
    title2_label['relief'] = 'ridge'
    title2_label.config(font = ("Calibri", 44))
    title2_label.pack()

def make_title_window():
    global sub
    sub = tk.Tk()

    build_title_widget()
    sub.mainloop()

make_title_window()

^^^^^^ ________此脚本在其自身上起作用____________ ^^^^^^^

VVVVVV ___调用第二个脚本____VVVVV时此脚本不起作用

#my_first_script.py
import Tkinter as tk

top = tk.Tk()

def run_other_script():
    my_second_script.make_title_window()

def build_buttons():  #sets up frame for button widgets
    button_frame = tk.Frame(top, padx=10, pady=10)
    button_frame.pack(side = "top")

    call_script_2 = tk.Button(top, text = "run other script", command = run_other_script)
    call_script_2.pack()

build_buttons()

top.mainloop()


#my_2nd_script.py
import Tkinter as tk

def build_title_widget():
    title2 = tk.StringVar()
    title2_label = tk.Label(sub, textvariable = title2, padx = 10, pady = 10,
                            fg = 'Midnight Blue', bg = 'white')
    title2.set('Hello World!')
    title2_label['relief'] = 'ridge'
    title2_label.config(font = ("Calibri", 44))
    title2_label.pack()

def make_title_window():
    global sub
    sub = tk.Tk()

    build_title_widget()
    sub.mainloop()

我认为两种配置都应显示“ Hello World!”。在Tkinter窗口标签中。但是,当第二个脚本被第一个脚本调用时,我只会得到一个空白标签。

0 个答案:

没有答案