【问题标题】:Problems with import stament when using tkinter使用 tkinter 时导入语句的问题
【发布时间】:2021-07-06 21:10:47
【问题描述】:

我有以下问题:我想将一个文件中的变量导入到另一个文件中。但是当我从中导入的文件有一个 tkinter 窗口时,它会打开整个窗口,而不仅仅是导入变量。我该如何解决?

文件 1 中的代码

from tkinter import *

root = Tk()

A = "This is "
B = "a test."
C = A+B
D = Label(root, text=C, font="Arial 20 bold")
D.pack()


root.mainloop()

文件 2 中的代码

from file1 import C
print(C)

【问题讨论】:

  • 是的,就是这样。你追求什么行为?
  • 我希望它只导入我指定的变量。
  • 是的,也会发生这种情况。
  • @Sh23 有时您所追求的变量可能取决于其余变量,因此 python 确保所有内容(包括窗口)都已设置。我建议你移动在函数中创建的窗口。

标签: python user-interface tkinter import


【解决方案1】:

这是因为当您导入 python 文件时,您实际上是在运行整个文件以获取引用。当 file1 完整运行时,将解释并运行整个文件。这包括最后一行,root.mainloop()

您想要使用的是检查当前文件是否是主文件的最佳做法。如果它不是当前的主程序,这将阻止它运行某些代码行。

你正在寻找这样的东西:

if __name__ == "__main__":
    root.mainloop()

【讨论】:

  • 如果 OP 只是这样做,那么导入仍然会导致 GUI 被创建,只是不可见。
猜你喜欢
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
  • 2011-02-04
相关资源
最近更新 更多