# -*- coding:utf-8 -*-
import Tkinter as tk
import tkFileDialog
import giscode
from multiprocessing import Process #<<注釋1>>
class MyGUI(object):
def __init__(self):
self.root = tk.Tk()
self.root.geometry("450x600+800+200") #設(shè)置窗口大小、位置
self.root.title("GIS") #設(shè)置程序名稱(chēng)
self.var = tk.StringVar()
# run function
self.create_widget()
self.create_run_button()
self.root.mainloop() # 執(zhí)行循環(huán)
def create_widget(self):
self.frame1 = tk.Frame(self.root, relief="raised", bd=3)
self.frame1.pack(fill="x")
self.entry = tk.Entry(self.frame1)
self.entry.config(textvariable=self.var) #<<注釋2>>
self.entry.pack(side="left",expand=True,
fill="x", pady=8, padx=10)
self.but = tk.Button(self.frame1, text=u"輸入線要素",
relief="groove", width=10)
self.but.config(command=self.open_dialog)
self.but.pack(side="right", pady=8)
def open_dialog(self):
varrr = tkFileDialog.askopenfilename()
self.var.set(varrr)
def create_run_button(self):
# 生成下方的“運(yùn)行”按鈕
self.bottom_frame = tk.Frame(self.root,relief="raised",bd=3)
self.bottom_frame.pack(side="bottom",fill="x",anchor="s")
self.ok_button =tk.Button(
self.bottom_frame,text=u"運(yùn)行",relief="groove", width=10)
self.ok_button.pack(side="right", pady=8)
self.ok_button.config(command=self.run_multiprocessing) #<<注釋2>>
# def run(self):
# giscode.main(self.var.get())
def run_multiprocessing(self): #<<注釋3>>
p = Process(target=giscode.main,
args=(self.var.get(),))
p.start()
print "PID:",p.pid
if __name__ == '__main__':
MyGUI()