2017-06-06 65 views
0

我想使一个python文件运行另一个只有当用户选择该选项,并且每次运行另一个文件时,无论发生了什么。没有成功使一个python文件运行另一个

我有两个选择:

  • 如果用户选择选项1:代码需要运行SendMenu文件。
  • 如果用户选择了选项2:代码需要运行RecvimagesMenu文件 ,但它不工作,就像我想,它会打开SendMenu文件,当我运行代码。

代码:

import sys 
from Tkinter import * 
import Image, ImageTk 
import SendMenu 
import RecvimagesMenu 

mGui = Tk() 

def mhello(): 
    global v 
    if(v.get() == 1): # if the user chose option 1 
     mGui.destroy() 
     SendMenu.run() 
    if(v.get() == 2): # if the user chose option 2 
     mGui.destroy() 
     RecvimagesMenu.run() 

    else: # if the user didn`t choose any option 
     print "5" 

def Action(): 
    global v 
    print (v.get()) 

def close(): # close the window 
    exit() 

def menu(): 
    global v 
    v = IntVar() 

    menubar = Menu(mGui) # menu 

    filemenu = Menu(menubar, tearoff=0) # menu works 
    filemenu.add_command(label="Close", command=close) 
    menubar.add_cascade(label="File", menu=filemenu) 

    mGui.geometry('450x300+500+300') 
    mGui.title('Nir`s ScreenShare') 

    canvas = Canvas(mGui, width=500, height=150) 
    canvas.pack(pady = 10) 
    pilImage = Image.open("logo5.png") 
    image = ImageTk.PhotoImage(pilImage) 
    imagesprite = canvas.create_image(0, 0, image=image, anchor="nw") 
    Radiobutton(mGui, text="Share My Screen    ", variable=v, value=1, command = Action).pack(anchor=CENTER) 
    Radiobutton(mGui, text="Watch Another`s Screen", variable=v, value=2, command = Action).pack(anchor=CENTER, pady = 7.5) 

    mbutton = Button(mGui, text='Start', command=mhello).pack() # button\ 

    mGui.config(menu=menubar) # menu helper 

    mGui.mainloop() 

menu() 
+0

此代码按我的预期工作。你确定问题不在'SendMenu'或'RecvimagesMenu'吗? –

+0

SendMenu或RecvimagesMenu没有问题,它只是打开SendMenu文件,当我运行它,我不知道为什么......它应该运行mHello函数只是当用户点击开始按钮时,也许问题是我做“导入SendMenu”/“导入RecvimagesMenu”? –

+0

当我从代码中删除导入并运行它, 它告诉我,当按下START按钮时,它将进入mhello fucntion ... 但是如果我使用导入运行它,它只是开始运行第一个导入(SendMenu)而不用等待用户的选择..是什么问题试图运行什么文件?如果文件有问题,它不需要运行它的命令就可以运行它。 –

回答

0

你的问题是,当你输入你的Python文件到另外一个,它运行的所有代码。既然你没有给出这些2的代码,我可以做出一个有教养的猜测。你是不是把代码在这些文件到功能

for example: 
def printme(str): 
    print("str" 
print"Hello world again" 

如果这个只要你输入的代码是在一个RecvimagesMenu.py它将打印“Hello世界再次”然后调用RecvimagesMenu.printme("hello world")它将打印“你好,世界”。

在您的文件中,您也有代码不在正在执行的函数中。要么删除此代码,要么将其移入函数中并调用它们。

相关问题