2014-09-01 54 views
0

我目前正在尝试编写一个简单的GUI,以帮助使用Python 2.7编写的库我最近一直在努力。我已经开始使用Tkinter,并且我正在玩弄基本的小部件以获得一些信心。我注意到,如果我尝试导入我编写的一个库或甚至pylab,即使我没有得到任何错误,GUI也会停止显示。我目前的Ubuntu 12.04下工作,我写的代码是这样的:此刻的GUI并没有真正进行任何操作导入liraries导致tkinter gui停止工作

import sys 
import os 
import numpy as np 
import pylab as pl 
import read_Expe_XML as rxml #personal library 
import write_Expe_XML as wxml #personal library 

import Tkinter as Tk 
import tkFileDialog 

def file_open(): 
    file_path = tkFileDialog.askopenfilename() 
    return 

mGui = Tk.Tk() 
ment = Tk.StringVar() 

mGui.geometry('600x900+400+100') 
mGui.title('Write Experimental') 

mlabel = Tk.Label(mGui,text='Insert the .xml filepath:',bg='white') 

mlabel.place(x=30, y=20) 
mentry = Tk.Entry(mGui,textvariable = ment, width=45) 
mentry.place(x=210,y=20) 

menubar = Tk.Menu(mGui) 

filemenu = Tk.Menu(menubar, tearoff = 0) 
filemenu.add_command(label='New') 
filemenu.add_command(label='Open',command=file_open) 
filemenu.add_command(label='Save') 
filemenu.add_command(label='Save as ...') 

menubar.add_cascade(label='File',menu=filemenu) 

mGui.config(menu=menubar) 

,但我发现,如果我评论的进口我写的两个库和pylab gui显示正确,否则不显示。我不明白为什么。你可以帮我吗?任何人都可以提前致谢

回答

0

即使您将import语句注释掉,此代码也不会生成窗口,因为您尚未启动GUI主循环。

添加到您的代码的末尾:

mGui.mainloop() 

编辑您的文章,如果GUI仍然没有,添加后出现。

+0

感谢您的快速回答。据我所知,.mainloop()仅适用于Windows操作系统。在Linux下,它不应该是必需的,我可以确认代码在没有我之前突出显示的导入的情况下工作。尝试添加.mainloop()最终结果稍有不同虽然..我得到一个窗口在这种情况下打开,但它是空的。任何想法? – user2504163 2014-09-01 14:05:16

+0

对不起,我再次尝试在代码的末尾添加它(之前我只是在某个点添加它),现在它正在工作。非常感谢! – user2504163 2014-09-01 14:07:03

+0

@ user2504163:你不正确。所有操作系统都需要'mainloop'。 – 2014-09-01 14:30:04

相关问题