python Tk()函数出现两个窗口的问题
在某个项目中有三个python文件:main.py和UI.py,Message.py
main.py:
from UI import UI
import tkinter
if __name__ == '__main__' :
ui=UI()
UI.py:
from tkinter import *
import tkinter.font as tkFont
class UI():
list = Message()
def __init__(self):
print("构造函数")
ui = Tk()
ui.mainloop()
Message.py:
class Messages():
message_list=[]
def __init__(self):
return
def add(self,messa):
self.message_list.append(messa)
def remove(self,index):
if index<len(self.message_list):
del self.message_list[index]
def get(self,index):
if index<len(self.message_list):
return self.message_list[index]
else :
return None
运行产生的结果却是:
百度上找了半天都没有这个问题,只好自己摸索,现在写出来分享给大家
很明显,讲道理结果应该是指只出现一个窗口,但是却出现了两个,经过多项测试,发现如果在UI中对窗口设置标题等时,改变的只有其中一个窗口,另一个窗口从不改变。
解决办法:
其实是在Python的已有库中已经有Message这个类了,然后自己写的时候又忘记了引入自己写的Message类,导致了冲突。在UI.py中加入 from Message import Message 即可