我试图让一个python文件只在用户选择该选项时运行另一个,并且每次运行另一个文件时无论发生什么。
我有两个选择:
代码:
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 :(得分:0)
您遇到的问题是当您将python文件导入另一个文件时,它会运行所有代码。由于你没有给出那些2的代码,我可以做出有根据的猜测。您没有将这些文件中的代码放入函数
for example:
def printme( str ):
print("str"
print"Hello world again"
如果您在导入代码后立即进入RecvimagesMenu.py,则会打印出#34; Hello world"然后你打电话给RecvimagesMenu.printme("hello world")
它会打印" Hello world"。
在您的文件中,您还有代码不在正在执行的函数中。删除此代码或将其移动到函数中并调用它们。