在python中打开主窗口

在python中打开主窗口,python,python-3.x,tkinter,tk,Python,Python 3.x,Tkinter,Tk,我有以下代码。它应该会打开一个类似的窗口,但当我运行它或按enter或其他任何键时,都不会发生任何事情。我做错了什么或者我忘记了什么 import sys import tkinter def main(): root= tkinter.Tk() root.title('Reminder') root.resizable(width=False, height=False) tkinter.mainloop() if __name__ == '_ _main_ _': main(

我有以下代码。它应该会打开一个类似的窗口,但当我运行它或按enter或其他任何键时,都不会发生任何事情。我做错了什么或者我忘记了什么

import sys
import tkinter
def main():
root= tkinter.Tk()
root.title('Reminder')
root.resizable(width=False, height=False)
  tkinter.mainloop()
  if __name__ == '_ _main_ _': 
   main()
 tkinter.mainloop()

我在代码中看到的第一个问题是import语句,至少对于python2.7来说,它应该是:

进口Tkinter

无论如何,该代码似乎不起作用,因此我认为您可以使用一些确实显示窗口的示例:

#!/usr/bin/env python
import Tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        self.quitButton = tk.Button(self, text='Quit',
            command=self.quit)
        self.quitButton.grid()

app = Application()
app.master.title('Sample application')
app.mainloop()
无论如何,您的中有空格:

if __name__ == '_ _main_ _': 
应该是这样

if __name__ == '__main__': 

您调用了tkinter.mainloop()。您应该做的是root.mainloop()

另外,通常只需要一个主循环,而不是两个,因为主循环一直运行到关闭窗口为止


希望有帮助!(:

尝试将实际的小部件添加到根目录

from tkinter import Tk, Frame, BOTH

class Example(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent, background="white")   

        self.parent = parent        
        self.parent.title('Reminder')
        self.pack(fill=BOTH, expand=1)

def main():

    root = Tk()
    root.geometry("250x150+300+300")
    root.resizable(width=False, height=False)
    app = Example(root)
    root.mainloop()  

if __name__ == '__main__':
    main()
如果你使用

if __name__ == '_ _main_ _': 
    main()
您的
main
将永远不会运行。它应该是
\uuuuu main\uuuuu
。您可以在交互式会话中说服自己

stacey@stacey-Inspiron-N4020:~$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> __name__
'__main__'
>>> __name__ == '__main__'
True
>>> __name__ == '_ _main_ _'
False
>>> 

你有很多语法错误,像这样改变你的语法

from tkinter import *

class Main:
    def __init__ (self,root):
        self.root = root
        self.root.title("Reminder")
        self.root.geometry("222x222")


if __name__ == '__main__':
    root = Tk()
    obj = Main(root)
    root.mainloop()

好的,但给了我一个解决方案,但我想知道为什么我给出的代码不起作用?大写字母T没有帮助。它甚至说它错误不知道Tkinter?
import Tkinter
(小写字母T)对python 3.x.Op来说是正确的。我没有说他在使用Python3是的,目前它可以工作,我不知道为什么。我尝试了几次,等等,但突然它工作了。无论如何,感谢大家!我尝试了几件事情,直到我注意到没有执行任何操作,如果你觉得我的回答有用,或者至少感谢我的努力,请将其标记为回答你的索引这个缩进是不正确的。在你读的代码中也是这样吗?如果你的代码在粘贴它之前确实有任何正确的缩进的样子,那么肯定是
的问题,如果
意味着你的
main
函数从未被调用过。你的字符串中有空格
'>很抱歉,这不是吗?@thales78正如其他人提到的,您有一大堆问题。其中之一是tkinter.mainloop()是错误的。它应该是root.mainloop()。
from tkinter import *

class Main:
    def __init__ (self,root):
        self.root = root
        self.root.title("Reminder")
        self.root.geometry("222x222")


if __name__ == '__main__':
    root = Tk()
    obj = Main(root)
    root.mainloop()