コード例 #1
0
ファイル: GUI.py プロジェクト: Allenliu0703/Capdrone-Python
    def __init__(self,master):
        self.master = master
        self.box_value = StringVar()
        self.connection = False
        self.sizeofgraph = StringVar()
        self.sizeofgraph = "Default Size is 10 Meters!"
        self.connectionstatus = StringVar()
        self.connectionstatus = "Serial Port is Not Connected!"
        #Change the name of the title
        master.wm_title("Vector Mapping 0.1 - SMT Research Ltd.")
        #Define all buttons
        self.button_1 = Button(master, text = "Start", font = ("comic sans ms",20)) #, font = ("comic sans ms",25)
        self.button_2 = Button(master, text = "Stop", font = ("comic sans ms",20))
        self.button_3 = Button(master, text = "Confirm")
        self.button_4 = Button(master, text = "Up")
        self.button_5 = Button(master, text = "Down")
        self.button_6 = Button(master, text = "Left")
        self.button_7 = Button(master, text = "Right")
        self.button_8 = Button(master, text = "Rescan")
        self.button_9 = Button(master, text = "Connect")
        self.button_10 = Button(master, text = "Activate") #, font = ("comic sans ms",25)
        self.button_11 = Button(master, text = "Cancel")
        self.label_1 = Label(master, text = "Set Height&Width(m)",bg ='white', font = ("comic sans ms", 15, "bold"))
        self.label_2 = Label(master, text = "Manual Control Panel",bg ='white', font = ("comic sans ms", 15, "bold"))
        self.label_3 = Label(master, text = "Serial Port Select",bg ='white', font = ("comic sans ms", 15, "bold"))
        self.label_4 = Label(self.master, text = self.connectionstatus, font = ("Helvetica", 12, "italic"))
        self.label_5 = Label(self.master, text = self.sizeofgraph, font = ("Helvetica", 12, "italic"))
        self.entry_1 = Entry(master)
        self.box = Combobox(master, textvariable = self.box_value, state ='readonly')
        self.box['values'] = Serialport.serial_Ports()
        self.box.current(0)
        #Bind all widgets to functions
        self.button_1.bind("<Button-1>",self.bindingStart)
        self.button_2.bind("<Button-1>",self.bindingStop)
        self.button_3.bind("<Button-1>",self.bindingConfirm)
        self.button_4.bind("<Button-1>",self.bindingUp)
        self.button_5.bind("<Button-1>",self.bindingDown)
        self.button_6.bind("<Button-1>",self.bindingLeft)
        self.button_7.bind("<Button-1>",self.bindingRight)
        self.button_8.bind("<Button-1>",self.bindingRescan)
        self.button_9.bind("<Button-1>",self.bindingConnect)
        self.button_10.bind("<Button-1>",self.bindingActivate)
        self.button_11.bind("<Button-1>",self.bindingCancel)
        self.master.bind("<Left>", self.bindingLeft)
        self.master.bind("<Right>", self.bindingRight)
        self.master.bind("<Up>", self.bindingUp)
        self.master.bind("<Down>", self.bindingDown)

        # Grid Layout for all wigets
        # Start and Stop button layout
        self.button_1.grid(row = 0, rowspan = 2, column = 81, ipadx = 10, sticky = W+E+N+S) #Start button,ipadx = 20, ipady = 20 , rowspan = 9, sticky = W+E+N+S
        self.button_2.grid(row = 0, rowspan = 2,column = 82,ipadx = 10, sticky = W+E+N+S) #Stop button, ipadx = 20, ipady = 20 , rowspan = 9 , sticky = W+E+N+S
        #Set Height and Width Layout
        self.label_1.grid(row = 10, column = 81, columnspan = 2, sticky = S) #Height&Width Label
        self.entry_1.grid(row = 11, column = 81, columnspan = 2) #Blank space Entry
        self.label_5.grid(row = 12, column = 81, columnspan = 2, sticky = N)
        self.button_3.grid(row = 13, column = 81, columnspan = 2) #Confirm button
        #Serial Port Select
        self.label_3.grid(row = 20, column  = 81, columnspan = 2, sticky = S) #Serial Port Select
        self.box.grid(row = 21, column = 81, columnspan = 2) #Combobox for serial ports
        self.label_4.grid(row = 22, column = 81, columnspan = 2, sticky = N) #connection message
        self.button_8.grid(row = 23, column = 81, sticky = E) #Rescan Button
        self.button_9.grid(row = 23, column = 82, sticky = W) #Connect Button
        #Control Panel Layout
        self.label_2.grid( row = 50, column = 81, columnspan = 2, sticky = S) #Manual Control Panel Label
        self.button_10.grid(row = 52, column = 81, sticky = W+E+N+S) 
        self.button_11.grid(row = 52,column = 82, sticky = W+E+N+S)
        self.button_4.grid(row = 54, column = 81, columnspan = 2) #Up button
        self.button_6.grid(row = 55, column = 81) #Left Button
        self.button_7.grid(row = 55, column = 82) #Right Button
        self.button_5.grid(row = 56, column = 81, columnspan = 2) #Down Button
        self.master.update()
コード例 #2
0
ファイル: GUI.py プロジェクト: Allenliu0703/Capdrone-Python
 def bindingRescan(self,event):  #update available serial ports
     self.box['values'] = Serialport.serial_Ports()