from tkinter import *
class DirList(object):
def __init__(self,initdir=None):
self.top= Tk() ##可以不加tkinter前缀
self.label = Label(self.top, text="Directory Lister V1.1") ##可以不加tkinter前缀
self.label.pack()
import tkinter
class DirList(object):
def __init__(self,initdir=None):
self.top= tkinter.Tk() ##必须加tkinter前缀
self.label = tkinter.Label(self.top, text="Directory Lister V1.1") ##必须加tkinter前缀
self.label.pack()
from Tkinter import * 与 import Tkinter 的区别
1、如果是from Tkinter import *
那么你是导入Tkinter下的所有函数、等等(注意:如果package或者module下有__all__这样的一个全局变量的话,*中取的就是__all__中的元素,__all__是一个元组对象,每一个元素都是一个str,后面我看到__all__也可以用list,元素同样是str即可),你在使用的时候,可以省略掉Tkinter即可
进一步解释:__all__属于module的属性,它是一个全局变量
在Python中一切都是对象,全局变量则是module的属性,类变量则的类的属性,实例变量则是对象的属性,局部变量就可以认为是函数或方法的属性嘛
OptionMenu(self.root, variable, "one", "two", "three")
2、如果是 import Tkinter,那么不能省略掉模块名Tkinter
Tkinter.OptionMenu(self.root, variable, "one", "two", "three")
3、简单总结
from xxxx import *
a、如果没有__all__,则是module中所有的属性
b、如果有__all__,则为__all__中的元素(注意:__all__可以为tuple、也可以为list,看样子只要是线性表即可)