Esempio n. 1
0
name_label = ttk.Label(window, text="Enter your name:")
name_label.grid(row=0, column=0, sticky=tk.W)

#STICKY - will stick the allignment to the left and tk.W , here W is west direction
email_label = ttk.Label(window, text="Enter your email:")
email_label.grid(row=1, column=0, sticky=tk.W)

age_label = ttk.Label(window, text="Enter your age:")
age_label.grid(row=2, column=0, sticky=tk.W)

gender_label = ttk.Label(window, text="Enter your gender:")
gender_label.grid(row=3, column=0, sticky=tk.W)

#create entry box , but we have to create a variable where the user information will be stored
name_var = tk.StringVar()
name_entrybox = ttk.Entry(window, width=16, textvariable=name_var)
name_entrybox.grid(row=0, column=1)
name_entrybox.focus()

email_var = tk.StringVar()
email_entrybox = ttk.Entry(window, width=16, textvariable=email_var)
email_entrybox.grid(row=1, column=1)

age_var = tk.StringVar()
age_entrybox = ttk.Entry(window, width=16, textvariable=age_var)
age_entrybox.grid(row=2, column=1)

#create combobox - we can create dropdown so that user can select from multiple options
gender_var = tk.StringVar()
gender_combobox = ttk.Combobox(window,
Esempio n. 2
0
	def __init__(self):
		# NOTE: I'm gonna rewrite this function because this is not a good coding style

		self.root = tk.Tk()
		self.root.title(NAME + ' ' + VERSION)
		self.frame1 = ttk.Frame(
			self.root,
			height=720,
			width=1280,
			relief='flat',
			borderwidth=5)
		self.controller = None
		self.keyPress = None
		self.keyboard = None

		# label frames
		self.lf = ttk.Labelframe(self.frame1, text='Command', padding=5)
		self.serial_lf = ttk.Labelframe(self.frame1, text='Serial Settings', padding=5)
		self.camera_lf = ttk.Labelframe(self.frame1, text='Camera', padding=5)
		self.control_lf = ttk.Labelframe(self.frame1, text='Controller', padding=5)

		# frames
		self.camera_f1 = ttk.Frame(self.camera_lf, relief='flat')
		self.camera_f2 = ttk.Frame(self.camera_lf, relief='flat')
		self.serial_f1 = ttk.Frame(self.serial_lf, relief='flat')
		self.serial_f2 = ttk.Frame(self.serial_lf, relief='flat')

		# log area
		self.logArea = MyScrolledText(self.frame1, width=70)
		self.logArea.write = self.write
		sys.stdout = self.logArea

		# load settings file
		self.loadSettings()

		# camera settings
		self.label1 = ttk.Label(self.camera_f1, text='Camera ID:')
		self.camera_entry = None
		if os.name == 'nt':
			try:
				self.locateCameraCmbbox()
			except:
				# Locate an entry instead whenever dll is not imported successfully
				self.camera_entry = ttk.Entry(self.camera_f1, width=5, textvariable=self.settings.camera_id)
		else:
			self.camera_entry = ttk.Entry(self.camera_f1, width=5, textvariable=self.settings.camera_id)

		# open up a camera
		self.camera = Camera()
		self.openCamera()

		self.cb1 = ttk.Checkbutton(
			self.camera_f1,
			padding=5,
			text='Show Realtime',
			onvalue=True,
			offvalue=False,
			variable=self.settings.is_show_realtime)

		self.label2 = ttk.Label(self.serial_f1, text='COM Port:')
		self.entry2 = ttk.Entry(self.serial_f1, width=5, textvariable=self.settings.com_port)
		self.preview = CaptureArea(self.camera, self.settings.fps.get(), self.settings.is_show_realtime, self.camera_lf)

		# activate serial communication
		self.ser = Sender.Sender(self.settings.is_show_serial)
		self.activateSerial()

		self.v1 = tk.StringVar(value='Python')
		self.rb1 = ttk.Radiobutton(self.lf, text='Mcu', value='Mcu', variable=self.v1, command=self.setCommandCmbbox)
		self.rb2 = ttk.Radiobutton(self.lf, text='Python', value='Python', variable=self.v1, command=self.setCommandCmbbox)
		self.reloadCommandButton = ttk.Button(self.lf, text='Reload', command=self.reloadCommands)

		self.reloadButton = ttk.Button(self.camera_f1, text='Reload Cam', command=self.openCamera)
		self.reloadComPort = ttk.Button(self.serial_f1, text='Reload Port', command=self.activateSerial)
		self.startButton = ttk.Button(self.lf, text='Start', command=self.startPlay)
		self.captureButton = ttk.Button(self.camera_f1, text='Capture', command=self.preview.saveCapture)

		self.cb_show_ser = ttk.Checkbutton(
			self.serial_f2,
			padding=5,
			text='Show Serial',
			onvalue=True,
			offvalue=False,
			variable=self.settings.is_show_serial)

		# simple controller
		self.cb_use_keyboard = ttk.Checkbutton(
			self.control_lf, text='Use Keyboard',
			onvalue=True, offvalue=False, variable=self.settings.is_use_keyboard,
			command=self.activateKeyboard)
		self.activateKeyboard()
		self.simpleConButton = ttk.Button(self.control_lf, text='Controller', command=self.createControllerWindow)

		# fps
		self.label3 = ttk.Label(self.camera_f2, text='FPS:')
		self.fps_cb = ttk.Combobox(self.camera_f2, textvariable=self.settings.fps, width=2, state="readonly")
		self.fps_cb['values'] = [45, 30, 15]
		self.fps_cb.bind('<<ComboboxSelected>>', self.applyFps)
		self.fps_cb.current(self.fps_cb['values'].index(self.settings.fps.get()))

		# commands
		self.mcu_name = tk.StringVar()
		self.mcu_cb = ttk.Combobox(self.lf, textvariable=self.mcu_name, state="readonly")
		self.py_name = tk.StringVar()
		self.py_cb = ttk.Combobox(self.lf, textvariable=self.py_name, state="readonly")
		self.loadCommands()

		self.partition1 = ttk.Label(self.camera_f1, text=' / ')
		self.partition2 = ttk.Label(self.camera_f1, text=' / ')

		self.frame1.grid(row=0,column=0,sticky='nwse')
		self.logArea.grid(row=0,column=7,rowspan=5, sticky='nwse')

		# camera
		self.camera_lf.grid(row=0,column=0,columnspan=3, sticky='nw')
		self.camera_f1.grid(row=0,column=0, sticky='nw')
		self.camera_f2.grid(row=2,column=0, sticky='nw', pady=(5, 0))
		self.preview.grid(row=1,column=0,columnspan=7, sticky='nw')
		self.label1.pack(side=tk.LEFT)
		self.camera_entry.pack(side=tk.LEFT, padx=5)

		self.reloadButton.pack(side=tk.LEFT)
		self.partition1.pack(side=tk.LEFT, padx=10)
		self.cb1.pack(side=tk.LEFT)
		self.partition2.pack(side=tk.LEFT, padx=10)
		self.captureButton.pack(side=tk.LEFT)
		self.label3.pack(side=tk.LEFT)
		self.fps_cb.pack(side=tk.LEFT, padx=5)

		# serial
		self.serial_lf.grid(row=1,column=0, sticky='nw')
		self.serial_f1.grid(row=0,column=0, sticky='nw')
		self.serial_f2.grid(row=1,column=0, sticky='nw', pady=(5, 0))
		self.label2.pack(side=tk.LEFT)
		self.entry2.pack(side=tk.LEFT, padx=5)
		self.reloadComPort.pack(side=tk.LEFT)
		self.cb_show_ser.pack(side=tk.LEFT)

		# controller simulator
		self.control_lf.grid(row=1, column=1, sticky='ne')
		self.cb_use_keyboard.grid(row=0, column=0)
		self.simpleConButton.grid(row=1, column=0, pady=(5,0))

		# commands selection
		self.lf.grid(row=1,column=2, rowspan=3, sticky='ne')
		self.rb1.grid(row=0,column=0, sticky='w')
		self.rb2.grid(row=1,column=0, sticky='w')
		self.setCommandCmbbox()
		self.reloadCommandButton.grid(row=3,column=1, sticky='e', pady=(10, 0))
		self.startButton.grid(row=3,column=2, sticky='e', pady=(10, 0))

		for child in self.frame1.winfo_children():
			if not type(child) is ttk.Combobox:
				child.grid_configure(padx=5, pady=5)

		self.root.protocol("WM_DELETE_WINDOW", self.exit)
		self.preview.startCapture()
Esempio n. 3
0
import tkinter as tk

window = tk.Tk()
window.title('my window')
window.geometry('200x200')

var = tk.StringVar()
label = tk.Label(
    window,
    text='   ',
    bg='yellow',
    width=20,
)


def print_selection():
    #config方法更改text属性
    label.config(text='you have selected' + var.get())


button = tk.Button(window, height=2)
#set variable=value
rb1 = tk.Radiobutton(window,
                     text='Option A',
                     variable=var,
                     value='A',
                     command=print_selection)

rb2 = tk.Radiobutton(window,
                     text='Option B',
                     variable=var,
    def __init__(self, row, controller):
        super().__init__()
        self.title("Thermal conductivity model")
        self.row = row
        self.controller = controller
        #self.resizable(False, False)

        # Adding outer container frames
        self.background_frame = ttk.Frame(self, style='Standard.TFrame')
        self.background_frame.pack(side='top', fill='both', expand=True)

        self.main_frame = ttk.Frame(self.background_frame, style='Standard.TFrame')
        self.main_frame.pack(side='top', fill='both', expand=True, padx=10, pady=10)

        # Adding main title frame
        self.main_title_frame = ttk.Frame(self.main_frame, style='DarkFrame.TFrame')
        self.main_title_frame.pack(side='top', fill='x')

        # Adding inner container frames
        self.top_frame = ttk.Frame(self.main_frame, style='Standard.TFrame')
        self.top_frame.pack(side='top', fill='x')

        self.center_frame = ttk.Frame(self.main_frame, style='Standard.TFrame')
        self.center_frame.pack(side='top', fill='x')

        self.bottom_frame = ttk.Frame(self.main_frame, style='Standard.TFrame')
        self.bottom_frame.pack(side='top', fill='x')

        # Adding top part container frames
        self.top_frame_inner_left = ttk.Frame(self.top_frame, style='Standard.TFrame')
        self.top_frame_inner_left.pack(side='left', fill='both', expand=True)

        self.top_frame_inner_right = ttk.Frame(self.top_frame, style='Standard.TFrame')
        self.top_frame_inner_right.pack(side='left', fill='both', expand=True)

        # Adding bottom part container frames
        self.bottom_frame_inner_left = ttk.Frame(self.bottom_frame, style='Standard.TFrame')
        self.bottom_frame_inner_left.pack(side='left', fill='both', expand=True)

        self.bottom_frame_inner_center = ttk.Frame(self.bottom_frame, style='Standard.TFrame')
        self.bottom_frame_inner_center.pack(side='left', fill='both', expand=True)

        self.bottom_frame_inner_right = ttk.Frame(self.bottom_frame, style='Standard.TFrame')
        self.bottom_frame_inner_right.pack(side='left', fill='both', expand=True)

        # Adding buttons in the button part
        self.ok_button = ttk.Button(self.bottom_frame_inner_left,
                                    text='Ok',
                                    width=15,
                                    takefocus=False,
                                    style='Standard.TButton',
                                    command=self.ok_button_func)
        self.ok_button.pack(side='left', padx=(10, 0), pady=(10, 10))

        self.see_calc_button = ttk.Button(self.bottom_frame_inner_center,
                                          text='See calculation',
                                          width=15,
                                          takefocus=False,
                                          style='Standard.TButton',
                                          command=self.see_calc_button_func)
        self.see_calc_button.pack(side='top', padx=(0, 10), pady=(10, 10))

        self.cancel_button = ttk.Button(self.bottom_frame_inner_right,
                                          text='Cancel',
                                          width=15,
                                          takefocus=False,
                                          style='Standard.TButton',
                                          command=self.cancel_button)
        self.cancel_button.pack(side='right', padx=(0, 10), pady=(10, 10))

        # Adding main title
        self.main_title = ttk.Label(self.main_title_frame,
                                   text='Thermal conductivity model',
                                   style='ExtraLargeLabel.TLabel')
        self.main_title.pack(side='left', padx=(10, 10), pady=(10, 10))

        # ku or kf selection frame widgets
        self.calculate_label = ttk.Label(self.top_frame_inner_left, text='Calculate:', style='LargeLabel.TLabel')
        self.calculate_label.grid(row=0, column=0, columnspan=2, sticky='w', padx=(10, 0), pady=(0, 0))

        self.ku_checkbutton = ttk.Checkbutton(self.top_frame_inner_left,
                                              style='Standard.TCheckbutton')
        self.ku_checkbutton.grid(row=1, column=0, sticky='w', padx=(10, 0), pady=(5, 0))
        self.ku_checkbutton_label = ttk.Label(self.top_frame_inner_left,
                                              text='Calculate unfrozen thermal conductivity',
                                              style='Standard.TLabel')
        self.ku_checkbutton_label.grid(row=1, column=1, sticky='w', padx=(3, 0), pady=(5, 0))

        self.kf_checkbutton = ttk.Checkbutton(self.top_frame_inner_left,
                                              style='Standard.TCheckbutton')
        self.kf_checkbutton.grid(row=2, column=0, sticky='w', padx=(10, 0), pady=(5, 0))
        self.kf_checkbutton_label = ttk.Label(self.top_frame_inner_left,
                                              text='Calculate frozen thermal conductivity',
                                              style='Standard.TLabel')
        self.kf_checkbutton_label.grid(row=2, column=1, sticky='w', padx=(3, 0), pady=(5, 0))

        # Adding override options widgets
        self.override_label = ttk.Label(self.top_frame_inner_left, text='Override on output:', style='LargeLabel.TLabel')
        self.override_label.grid(row=3, column=0, columnspan=2, sticky='w', padx=(10, 0), pady=(20, 0))

        self.sr_override_checkbutton = ttk.Checkbutton(self.top_frame_inner_left,
                                                       style='Standard.TCheckbutton')
        self.sr_override_checkbutton.grid(row=4, column=0, sticky='w', padx=(10, 0), pady=(5, 0))
        self.sr_override_label = ttk.Label(self.top_frame_inner_left,
                                           text='Sr value',
                                           style='Standard.TLabel')
        self.sr_override_label.grid(row=4, column=1, sticky='w', padx=(3, 0), pady=(5, 0))

        # select material type frame widgets
        self.select_type_label = ttk.Label(self.top_frame_inner_right,
                                           text='Select material type',
                                           style='LargeLabel.TLabel')
        self.select_type_label.grid(row=0, column=0, columnspan=4, sticky='w', padx=(10, 0), pady=(0, 0))

        self.k_label = ttk.Label(self.top_frame_inner_right, text='k', style='Standard.TLabel')
        self.k_label.grid(row=1, column=2, columnspan=2, padx=(0, 0), pady=(3, 0))

        self.unfrozen_label = ttk.Label(self.top_frame_inner_right, text='unfrozen', style='Standard.TLabel')
        self.unfrozen_label.grid(row=2, column=2, padx=(5, 0), pady=(3, 0))
        self.frozen_label = ttk.Label(self.top_frame_inner_right, text='frozen', style='Standard.TLabel')
        self.frozen_label.grid(row=2, column=3, padx=(5, 0), pady=(3, 0))

        self.type_selection = tk.StringVar()
        self.radiobutton_1 = ttk.Radiobutton(
            self.top_frame_inner_right,
            value='type1',
            variable=self.type_selection,
            takefocus=False,
            style='Standard.TRadiobutton'
        )
        self.radiobutton_1.grid(row=3, column=0, sticky='w', padx=(10, 0), pady=(3, 0))
        self.radiobutton_2 = ttk.Radiobutton(
            self.top_frame_inner_right,
            value='type2',
            variable=self.type_selection,
            takefocus=False,
            style='Standard.TRadiobutton'
        )
        self.radiobutton_2.grid(row=4, column=0, sticky='w', padx=(10, 0), pady=(3, 0))
        self.radiobutton_3 = ttk.Radiobutton(
            self.top_frame_inner_right,
            value='type3',
            variable=self.type_selection,
            takefocus=False,
            style='Standard.TRadiobutton'
        )
        self.radiobutton_3.grid(row=5, column=0, sticky='w', padx=(10, 0), pady=(3, 0))
        self.radiobutton_4 = ttk.Radiobutton(
            self.top_frame_inner_right,
            value='type4',
            variable=self.type_selection,
            takefocus=False,
            style='Standard.TRadiobutton'
        )
        self.radiobutton_4.grid(row=6, column=0, sticky='w', padx=(10, 0), pady=(3, 0))

        self.type_label_1 = ttk.Label(
            self.top_frame_inner_right,
            text='gravel and coarse sands:',
            style='Standard.TLabel'
        )
        self.type_label_1.grid(row=3, column=1, sticky='w', padx=(5, 0), pady=(3, 0))
        self.type_label_2 = ttk.Label(
            self.top_frame_inner_right,
            text='medium and fine sands:',
            style='Standard.TLabel'
        )
        self.type_label_2.grid(row=4, column=1, sticky='w', padx=(5, 0), pady=(3, 0))
        self.type_label_3 = ttk.Label(
            self.top_frame_inner_right,
            text='silty and clayey soils:',
            style='Standard.TLabel'
        )
        self.type_label_3.grid(row=5, column=1, sticky='w', padx=(5, 0), pady=(3, 0))
        self.type_label_4 = ttk.Label(
            self.top_frame_inner_right,
            text='organic fibrous soils (peat):',
            style='Standard.TLabel'
        )
        self.type_label_4.grid(row=6, column=1, sticky='w', padx=(5, 0), pady=(3, 0))

        self.var_unfrozen_1 = tk.StringVar(value='4.60')
        self.var_unfrozen_2 = tk.StringVar(value='3.55')
        self.var_unfrozen_3 = tk.StringVar(value='1.90')
        self.var_unfrozen_4 = tk.StringVar(value='0.60')
        self.unfrozen_val_1 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_unfrozen_1,
            style='Standard.TLabel'
        )
        self.unfrozen_val_1.grid(row=3, column=2, padx=(0, 0), pady=(3, 0))
        self.unfrozen_val_2 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_unfrozen_2,
            style='Standard.TLabel'
        )
        self.unfrozen_val_2.grid(row=4, column=2, padx=(0, 0), pady=(3, 0))
        self.unfrozen_val_3 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_unfrozen_3,
            style='Standard.TLabel'
        )
        self.unfrozen_val_3.grid(row=5, column=2, padx=(0, 0), pady=(3, 0))
        self.unfrozen_val_4 = ttk.Label(
            self.top_frame_inner_right,
                                        textvariable=self.var_unfrozen_4,
                                        style='Standard.TLabel'
        )
        self.unfrozen_val_4.grid(row=6, column=2, padx=(0, 0), pady=(3, 0))

        self.var_frozen_1 = tk.StringVar(value='1.70')
        self.var_frozen_2 = tk.StringVar(value='0.95')
        self.var_frozen_3 = tk.StringVar(value='0.85')
        self.var_frozen_4 = tk.StringVar(value='0.25')
        self.frozen_val_1 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_frozen_1,
            style='Standard.TLabel')
        self.frozen_val_1.grid(row=3, column=3, padx=(0, 0), pady=(3, 0))
        self.frozen_val_2 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_frozen_2,
            style='Standard.TLabel')
        self.frozen_val_2.grid(row=4, column=3, padx=(0, 0),pady=(3, 0))
        self.frozen_val_3 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_frozen_3,
            style='Standard.TLabel')
        self.frozen_val_3.grid(row=5, column=3, padx=(0, 0), pady=(3, 0))
        self.frozen_val_4 = ttk.Label(
            self.top_frame_inner_right,
            textvariable=self.var_frozen_4,
            style='Standard.TLabel'
        )
        self.frozen_val_4.grid(row=6, column=3, padx=(0, 0), pady=(3, 0))

        # Adding center frame widgets for mineral or rock selection calculation
        self.center_frame_top_selection_frame = ttk.Frame(self.center_frame, style='Standard.TFrame')
        self.center_frame_top_selection_frame.pack(side='top', fill='x')

        self.particle_th_con_label = ttk.Label(
            self.center_frame_top_selection_frame,
            text='Particle thermal conductivity',
            style='LargeLabel.TLabel'
        )
        self.particle_th_con_label.grid(row=0, column=0, columnspan=4, sticky='w', padx=(10, 0), pady=(15, 0))

        self.calculation_selection = tk.StringVar()
        self.rock_selection_radiobutton = ttk.Radiobutton(
            self.center_frame_top_selection_frame,
            value='rock',
            variable=self.calculation_selection,
            style='Standard.TRadiobutton',
            takefocus=False,
            command=self.switch_frames
        )
        self.rock_selection_radiobutton.grid(row=1, column=0, padx=(10, 0), pady=(5, 5))
        self.rock_selection_label = ttk.Label(
            self.center_frame_top_selection_frame,
            text='by rock type',
            style='Standard.TLabel'
        )
        self.rock_selection_label.grid(row=1, column=1, padx=(3, 0), pady=(5, 5))

        self.mineral_selection_radiobutton = ttk.Radiobutton(
            self.center_frame_top_selection_frame,
            value='mineral',
            variable=self.calculation_selection,
            style='Standard.TRadiobutton',
            takefocus=False,
            command=self.switch_frames
        )
        self.mineral_selection_radiobutton.grid(row=1, column=2, padx=(10, 0), pady=(5, 5))
        self.mineral_selection_label = ttk.Label(
            self.center_frame_top_selection_frame,
            text='by mineral',
            style='Standard.TLabel')
        self.mineral_selection_label.grid(row=1, column=3, padx=(3, 0), pady=(5, 5))

        self.switch_frame_container = ttk.Frame(self.center_frame, style='Standard.TFrame')
        self.switch_frame_container.pack(side='bottom', fill='both', expand=True)
        self.switch_frame_container.columnconfigure(0, weight=1)
        self.switch_frame_container.rowconfigure(0, weight=1)

        # Frame switching
        self.frame_pages = dict()

        for frame_class in [SelectByRock, SelectByMineral]:
            selection_frame = frame_class(self.switch_frame_container)
            self.frame_pages[frame_class] = selection_frame
            selection_frame.grid(row=0, column=0, sticky='nsew')

        self.empty_start_frame = ttk.Frame(self.switch_frame_container, style='Standard.TFrame')
        self.empty_start_frame.grid(row=0, column=0, sticky='nsew')
Esempio n. 5
0
            chaves_rec.pop()

        if msg == "{quit}":
            client_socket.close()
            top.quit()

    def on_closing(event=None):
        """Esta função deve ser chamada quando a janela é fechada."""
        my_msg.set("{quit}")
        send()

    top = tkinter.Tk()
    top.title("Chat Toppezzera")

    messages_frame = tkinter.Frame(top)
    my_msg = tkinter.StringVar()  # Para que as mensagens sejam enviadas.
    my_msg.set("Escreva seu nome.")
    # Para navegar pelas mensagens anteriores.
    scrollbar = tkinter.Scrollbar(messages_frame)
    # A seguir conterá as mensagens.
    msg_list = tkinter.Listbox(messages_frame,
                               height=15,
                               width=80,
                               yscrollcommand=scrollbar.set)
    scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
    msg_list.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
    msg_list.pack()
    messages_frame.pack()

    entry_field = tkinter.Entry(top, textvariable=my_msg)
    entry_field.bind("<Return>", send)
Esempio n. 6
0
    "file_finder_byWord_main.py", 1
]
pydict["Sentence complexity by sentence index"] = [
    "sentence_analysis_util.sentence_complexity", 0, 3, 'txt'
]
pydict["Sentence/text readability by sentence index (via textstat)"] = [
    "sentence_analysis_util.sentence_text_readability", 0, 3, 'txt'
]
pydict["Sentiment analysis by sentence index"] = [
    "sentiment_concreteness_analysis_main.py", 1
]
pydict["Words/collocations by sentence index"] = ["", 0]
pydict["WordNet categories by sentence index"] = ["WordNet_main.py", 1]

visualize_bySentenceIndex_var = tk.IntVar()
visualize_bySentenceIndex_options_var = tk.StringVar()
visualize_sentence_structure_var = tk.IntVar()
sentence_complexity_var = tk.IntVar()
text_readability_var = tk.IntVar()
extract_sentences_var = tk.IntVar()
search_words_var = tk.StringVar()


def clear(e):
    visualize_bySentenceIndex_var.set(0)
    visualize_sentence_structure_var.set(0)
    extract_sentences_var.set(0)
    visualize_bySentenceIndex_options_var.set('')
    search_words_var.set('')
    GUI_util.clear("Escape")
import tkinter as tk
from tkinter import ttk

window = tk.Tk()
window.title("My Personal Title")
window.geometry("300x300")
window.resizable(0, 0)
window.wm_iconbitmap("images/ok.ico")

#Label to guide user:
label1 = ttk.Label(window, text="Which OS have you used?")
label1.pack(pady=10, anchor='w')

#Checkbuttons
option1_var = tk.StringVar()
check = ttk.Checkbutton(window, text="Windows", variable=option1_var)
check.pack(anchor='w')

option2_var = tk.StringVar()
check2 = ttk.Checkbutton(window, text="iOS", variable=option2_var)
check2.pack(anchor='w')

option3_var = tk.StringVar()
check3 = ttk.Checkbutton(window, text="Linux", variable=option3_var)
check3.pack(anchor='w')

option4_var = tk.StringVar()
check4 = ttk.Checkbutton(window, text="Android", variable=option4_var)
check4.pack(anchor='w')
        open(save_path, 'wb').write(pic_res.content)

    def Downlod_Path(self):
        path = askdirectory()
        downlod_path.set(path)

    def test(self):
        print('xiazai:{}'.format(type(downlod_path.get())))


if __name__ == '__main__':
    dl_pic = DownlodMM()
    window = tk.Tk()
    window.title('美女图片下载')
    window.geometry('370x160')
    downlod_path = tk.StringVar()
    tuwandllist = tk.StringVar()
    taobao_list = tk.StringVar()

    dl_path_name = tk.Label(text='下载路径:').place(x=10, y=10)
    dl_path_in = tk.Entry(window, textvariable=downlod_path).place(x=80, y=10)
    dl_path_bt = tk.Button(text='路径选择',
                           command=dl_pic.Downlod_Path).place(x=280, y=10)

    tuwan_text_list = tk.ttk.Combobox(window,
                                      textvariable=tuwandllist,
                                      width=13)
    tuwan_text_list.place(x=80, y=40)
    tuwan_text_list["value"] = dl_pic.list
    tuwan_text_list.current(1)
    tuwan_text_list_bt = tk.Button(text='兔玩图片下载',
Esempio n. 9
0
picture = []

reply = 0
correct = 0
no = 0
num = 0

record = []
for i in range(11):
    record.append(0)

tk.Label(window,
         text='選擇類別\n1:民俗文化 2:美食 3:景點 4:名人名言 5:文學 6:藝術',
         font=("標楷體"),
         width=60).pack()
num = tk.StringVar()
tk.Entry(window, textvariable=num, width=30).pack()  #Entry:文字輸入欄
tk.Button(window, text="確定", command=ok).pack()
tk.Button(window, text="取消", command=cancel).pack()

win2_timer = None
score = 0


def button_countdown(i, label, window2, correct):
    global reply, win2_timer, score
    if (reply == 1 or reply == 2 or reply == 3):
        if (reply == int(correct)):
            print('2222')
            if (i > 5):
                score = score + 5
Esempio n. 10
0
    else:
        pass


win = tk.Tk()
win.title("Calculate Money")

#第一行
ttk.Label(win, text='Input').grid(column=0, row=0)
ttk.Label(win, text='From').grid(column=1, row=0)
ttk.Label(win, text='To').grid(column=2, row=0)
ttk.Label(win, text='result').grid(column=3, row=0)

#第二行第一列
#ttk.Entry是输入框
one = tk.StringVar()
inputNumber = ttk.Entry(win, width=12, textvariable=one)
inputNumber.grid(column=0, row=1)
inputNumber.focus()

#第二行第二列
#ttk.Combobox是下拉框
two = tk.StringVar()
choice = ttk.Combobox(win, width=12, textvariable=two)
choice['values'] = ('renminbi', 'dollar')
choice.grid(column=1, row=1)

#第二行第三列
three = tk.StringVar()
convertTo = ttk.Combobox(win, width=20, textvariable=three)
convertTo['values'] = ('Vietnamese_Shield', 'renminbi', 'bitcoin', 'dollar')
Esempio n. 11
0
import tkinter as tk
import sqlite3
window = tk.Tk()
window.geometry('650x650')

full_name = tk.StringVar()
full_address = tk.StringVar()
full_email = tk.StringVar()
full_number = tk.StringVar()
var_gender = tk.StringVar()
var_politic = tk.StringVar()
var_edu = tk.StringVar()
var_check1 = tk.IntVar()
var_check2 = tk.IntVar()
var_check3 = tk.IntVar()
var_check4 = tk.IntVar()
var_check5 = tk.IntVar()


def info():
    _name = full_name.get()
    _address = full_address.get()
    _email = full_email.get()
    _number = full_number.get()
    _gender = var_gender.get()
    _political = var_politic.get()
    _edu = var_edu.get()
    _check_1 = var_check1.get()
    _check_2 = var_check2.get()
    _check_3 = var_check3.get()
    _check_4 = var_check4.get()
Esempio n. 12
0
        root.update_idletasks()
        time.sleep(1)

    paginas_processadas_entry.insert(0, "1762")
    paginas_erro_entry.insert(0, "300")
    salvardados()


#---------------------------------------------------------------------------------------------

# Parametros de Aplicação
frame_aplicacao = tk.LabelFrame(root, text="Parâmetros de Aplicação", padx=5, pady=5)
frame_aplicacao.grid(row=0, column=1, padx=5, pady=5, ipadx=5, ipady=5, sticky=tk.E+tk.N+tk.W+tk.S)

# CheckBoxes
saveasfile = tk.StringVar()
sobrescrever = tk.StringVar()
savedatabase = tk.StringVar()

# FIRST FRAME - PARÂMETRO DE APLICAÇÃO
check1 = tk.Checkbutton(frame_aplicacao, text="Salvar em Arquivo", variable=saveasfile, command=switch_button_state)
check1.deselect()
check1.grid(row=0, sticky=tk.W)

check2 = tk.Checkbutton(frame_aplicacao, text="Sobrescrever conteúdo\n anterior do arquivo", variable=sobrescrever, state=tk.DISABLED)
check2.deselect()
check2.grid(row=1, padx=(10,0))

namefile_label = tk.Label(frame_aplicacao, text="Nome arquivo: ")
namefile_label.grid(row=1, column=1, sticky=tk.E)
saveasfile_Entry = tk.Entry(frame_aplicacao, width=30, state=tk.DISABLED)
Esempio n. 13
0
                        str(numWinners) + " winners successfully selected!")


#labels
winnerLabel = ttk.Label(win, text="No. Winners")
winnerLabel.grid(column=0, row=0)

csvLabel = ttk.Label(win, text="Upload File")
csvLabel.grid(column=0, row=1)

#textboxes
winner = tk.IntVar()
winnerBox = ttk.Entry(win, width=12, textvariable=winner)
winnerBox.grid(column=1, row=0)

csv = tk.StringVar()
csvBox = ttk.Entry(win, width=50, textvariable=csv)
csvBox.grid(column=0, row=1)

#checkbox
chVarHeader = tk.IntVar()
headerCh = tk.Checkbutton(win, text="Has Header?", variable=chVarHeader)
headerCh.select()
headerCh.grid(column=0, row=2, sticky=tk.W)

#buttons
uploadButton = ttk.Button(win, text="Browse", command=browse)
uploadButton.grid(column=1, row=1)

submitButton = ttk.Button(win, text="Submit", command=submit)
submitButton.grid(column=0, row=3)
Esempio n. 14
0

### Colour Theme :

# icons 

lightDefaultIcon = tk.PhotoImage(file='icons2/light_default.png')
lightPlusIcon = tk.PhotoImage(file='icons2/light_plus.png')
darkIcon = tk.PhotoImage(file='icons2/dark.png')
redIcon = tk.PhotoImage(file='icons2/red.png')
monokaiIcon = tk.PhotoImage(file='icons2/monokai.png')
nightBlueIcon = tk.PhotoImage(file='icons2/night_blue.png')

mainMenu.add_cascade(label="Colour Theme",menu=ColourTheme)

themeChosen = tk.StringVar()
colourIcons = (lightDefaultIcon,lightPlusIcon,darkIcon,redIcon,monokaiIcon,nightBlueIcon)

colourDict = {
    'Light Default' : ('#000000','#ffffff'),      # background and font
    'Light Plus' : ('#474747','#e0e0e0'), 
    'Dark' : ('#c4c4c4','#2d2d2d'), 
    'Red' : ('#2d2d2d','#ffe8e8'), 
    'Monokai' : ('#d3b774','#474747'), 
    'Night Blue' : ('#ededed','#6b9dc2')
}




Esempio n. 15
0
    def __init__(self, window, mmc):
        self.window = window
        self.window.title("Live Camera")
        self.window.protocol('WM_DELETE_WINDOW', self.delete)
        self.last_channel = ''
        self.mmc = mmc

        row_col_config(self.window, 4, 4)

        self.Options = tk.Frame(self.window)
        self.Options.grid(row=0,
                          column=0,
                          rowspan=4,
                          columnspan=1,
                          sticky=tk.W + tk.E + tk.N + tk.S)

        # Base the number of items in the Options frame on how many
        # LED configurations exist
        self.led_intensities = read_yaml(LED_YAML_PATH)
        row_col_config(self.Options, len(self.led_intensities.keys()) + 10, 2)

        tk.Label(self.Options, text="Settings").grid(row=0,
                                                     column=0,
                                                     columnspan=2)

        self.channel = tk.StringVar()

        self.channels = {}
        self.exposures = {}

        for i, (key, val) in enumerate(self.led_intensities.items()):
            self.channels[key] = tk.Radiobutton(self.Options,
                                                text=key,
                                                variable=self.channel,
                                                value=key)
            self.channels[key].grid(row=i + 3, column=0)
            if key == 'BFF':
                self.channels[key].select()

        for i, (k, v) in enumerate(self.channels.items()):
            self.exposures[k] = tk.StringVar(self.Options,
                                             value=get_default(k))
            tk.Entry(self.Options,
                     textvariable=self.exposures[k]).grid(row=i + 3,
                                                          column=1,
                                                          sticky='EW')

        self.Image = tk.Frame(self.window)
        self.Image.grid(row=0,
                        column=1,
                        rowspan=4,
                        columnspan=3,
                        sticky=tk.W + tk.E + tk.N + tk.S)
        # row_col_config(self.Image, 9, 2)
        # Camera Scale
        self.scale = 3
        self.dim = tuple(
            (np.asarray(sc_utils.get_frame_size()) / self.scale).astype(int))
        # self.dim = (int(self.width / self.scale), int(self.height / self.scale))

        self.vid = VideoCapture(mmc)

        self.canvas = tk.Canvas(self.Image,
                                width=self.dim[0],
                                height=self.dim[1])
        self.canvas.grid()

        # Button that lets the user take a snapshot
        self.btn_snapshot = tk.Button(self.Options,
                                      text="Snapshot",
                                      width=50,
                                      command=self.snapshot)
        self.btn_snapshot.grid(row=len(self.led_intensities.keys()) + 9,
                               column=0,
                               columnspan=2)

        # self.exp_entry = tk.Entry(
        #     window, textvariable=tk.StringVar(window, value="1"))
        # self.exp_entry.grid()

        # After it is called once, the update method will be automatically called every delay milliseconds
        self.delay = 15
        self.update()
Esempio n. 16
0
    def init_window(self):
        self.master.title("T79 Configuration App")
        self.grid()

        # Set up the Entry widgets for each network parameter:
        for ind, (key, param) in enumerate(self.params.items()):
            self.param_labels[param[0]] = tk.Label(self, text=param[1])
            self.param_labels[param[0]].grid(row=ind, column=0)

            self.param_var[param[0]] = tk.StringVar(self)
            self.param_var[param[0]].set(param[2][param[2].index(param[3])])
            self.param_entry[param[0]] = tk.OptionMenu(
                self, self.param_var[param[0]], *param[2])
            self.param_entry[param[0]].grid(row=ind,
                                            column=1,
                                            columnspan=ENTRY_COLSPAN)
            self.param_entry[param[0]].config(state=tk.DISABLED)

        # Set the Radar CAN Interface entry widget to ENABLED and give it focus:
        self.param_entry["can_interface"].config(state=tk.NORMAL, fg="black")
        self.param_entry["can_interface"].focus_set()

        # Connect Button:
        self.connect_button = tk.Button(self,
                                        text="CONNECT",
                                        command=self.connect_to_radar)
        self.connect_button.grid(row=4, column=0)

        # Send Configuration Button:
        self.send_config_button = tk.Button(self,
                                            text="CONFIGURE",
                                            command=self.send_config_to_radar)
        self.send_config_button.grid(row=4, column=1)
        self.send_config_button.config(state=tk.DISABLED)

        # Start Radar Button:
        self.start_radar_button = tk.Button(self,
                                            text="START",
                                            command=self.start_radar)
        self.start_radar_button.grid(row=4, column=2)
        self.start_radar_button.config(state=tk.DISABLED)

        # Run Radar Button:
        self.stop_radar_button = tk.Button(self,
                                           text="STOP",
                                           command=self.stop_radar)
        self.stop_radar_button.grid(row=4, column=3)
        self.stop_radar_button.config(state=tk.DISABLED)

        # Display for output:
        self.text_display = tk.Text(self, width=65, height=10)
        self.text_display.grid(row=0, column=4, rowspan=5)
        self.update_text_display_newline(
            "Please enter the radar socketCAN interface name (for example, can0) and press CONNECT."
        )

        # Scrollbar for display text:
        self.scrollbar_display = tk.Scrollbar(self,
                                              command=self.text_display.yview)
        self.scrollbar_display.grid(row=0, column=5, rowspan=5)
        self.text_display['yscrollcommand'] = self.scrollbar_display.set
Esempio n. 17
0
    def __init__(self, master):
        self.master = master
        tk.Frame.__init__(self, self.master)
        self.master.title("Smart Scope")
        self.live_class = None

        ######################################################
        # Layout the frames and notebooks
        ######################################################
        row_col_config(self.master, 4, 4)

        self.Sidebar = tk.Frame(self.master)
        self.Sidebar.grid(row=0,
                          column=3,
                          rowspan=4,
                          columnspan=1,
                          sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.Sidebar, 8, 1)
        self.BarcodeFrame = tk.Frame(self.Sidebar,
                                     highlightbackground="black",
                                     highlightcolor="black",
                                     highlightthickness=1)
        self.BarcodeFrame.grid(row=0,
                               column=0,
                               rowspan=4,
                               sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.BarcodeFrame, 4, 1)
        self.Mainframe = tk.Frame(master)
        self.Mainframe.grid(row=0,
                            column=0,
                            rowspan=4,
                            columnspan=3,
                            sticky=tk.W + tk.E + tk.N + tk.S)

        self.nb = ttk.Notebook(self.Mainframe)

        self.imaging_parameters = ttk.Frame(self.nb)
        self.nb.add(self.imaging_parameters, text='Imaging Parameters')
        row_col_config(self.imaging_parameters, 14, 4)

        self.system = ttk.Frame(self.nb)
        self.nb.add(self.system, text='System Parameters')
        self.nb.pack(expand=1, fill='both')
        row_col_config(self.system, 14, 4)

        ######################################################
        # Layout the buttons, labels, and entries
        ######################################################

        # Sidebar
        tk.Button(self.Sidebar, text="Live Image",
                  command=self.camera).grid(row=7,
                                            column=0,
                                            ipadx=10,
                                            ipady=3,
                                            padx=3,
                                            pady=3)
        tk.Label(self.BarcodeFrame, text="Barcode").grid(row=0, column=0)
        self.barcode_number = tk.StringVar(self.BarcodeFrame, value='')
        self.barcode_val = tk.Entry(self.BarcodeFrame,
                                    textvariable=self.barcode_number)
        self.barcode_val.grid(row=1, column=0)
        tk.Button(self.BarcodeFrame,
                  text="Scan Barcode",
                  command=self.scan_barcode).grid(row=3,
                                                  column=0,
                                                  ipadx=10,
                                                  ipady=3,
                                                  padx=3,
                                                  pady=3)
        tk.Button(self.BarcodeFrame, text="Save",
                  command=self.save_barcode).grid(row=4,
                                                  column=0,
                                                  ipadx=18,
                                                  ipady=3,
                                                  padx=3,
                                                  pady=3)
        tk.Button(self.BarcodeFrame, text="Load",
                  command=self.load_barcode).grid(row=5,
                                                  column=0,
                                                  ipadx=18,
                                                  ipady=3,
                                                  padx=3,
                                                  pady=3)
        start = tk.Button(self.Sidebar,
                          text="Start",
                          font=('Sans', '10', 'bold'),
                          command=self.image)
        start.grid(row=8, column=0, ipadx=23, ipady=3, padx=3, pady=3)

        # Imaging
        # Experiment
        self.config_yaml_data = read_yaml(CONFIG_YAML_PATH)

        self.experiment_params = {
            'Chip': 1,
            'Cycle Number': 2,
            'Drug': 3,
            'Cell': 4,
            'Origin': 5,
            'Start Date': 6,
            'Concentration': 7,
            'Chip Index': 8
        }
        self.ExperimentFrame = tk.Frame(self.imaging_parameters,
                                        highlightbackground="black",
                                        highlightcolor="black",
                                        highlightthickness=1)
        self.ExperimentFrame.grid(row=0,
                                  column=0,
                                  rowspan=9,
                                  columnspan=2,
                                  sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.ExperimentFrame, 9, 2)
        tk.Label(self.ExperimentFrame, text="Experiment").grid(row=0,
                                                               column=0,
                                                               columnspan=2)

        for k, v in self.experiment_params.items():
            if k == 'Chip':
                self.experiment_params[k] = DropDown(
                    self.ExperimentFrame, k, get_default(k),
                    ([val['name']
                      for val in self.config_yaml_data['chips']]), v)
            elif k == 'Drug':
                self.experiment_params[k] = DropDown(
                    self.ExperimentFrame, k, get_default(k),
                    ([val for val in self.config_yaml_data['drugs']]), v)
            elif k == 'Cell':
                self.experiment_params[k] = DropDown(
                    self.ExperimentFrame, k, get_default(k),
                    ([val for val in self.config_yaml_data['cells']]), v)
            elif k == 'Origin':
                self.experiment_params[k] = DropDown(
                    self.ExperimentFrame, k, get_default(k),
                    ([val for val in self.config_yaml_data['origins']]), v)
            else:
                self.experiment_params[k] = Entry(self.ExperimentFrame, k,
                                                  get_default(k), v)

        # Exposure
        self.led_intensities = read_yaml(LED_YAML_PATH)
        # print(self.led_intensities)
        self.exposure_params = {}
        self.exposure_checkboxes = {}

        for i, (key, val) in enumerate(self.led_intensities.items()):
            self.exposure_params[key] = i + 1
            self.exposure_checkboxes[key] = tk.BooleanVar()
            if key == 'BFF':
                self.exposure_checkboxes[key].set(True)

        self.ExposureFrame = tk.Frame(self.imaging_parameters)
        self.ExposureFrame.grid(row=9,
                                column=0,
                                rowspan=4,
                                columnspan=2,
                                sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.ExposureFrame, 8, 3)
        tk.Label(self.ExposureFrame, text="Exposure").grid(row=0,
                                                           column=0,
                                                           columnspan=2)

        for i, (k, v) in enumerate(self.exposure_checkboxes.items()):
            tk.Checkbutton(self.ExposureFrame,
                           text=k,
                           variable=v,
                           onvalue=True,
                           offvalue=False).grid(row=i + 1, column=2)
        for k, v in self.exposure_params.items():
            self.exposure_params[k] = Entry(self.ExposureFrame, k,
                                            get_default(k), v)

        # Focus
        self.focus_params = {
            'Step Size (um)': 1,
            'Initial Focus Range (um)': 2,
            'Focus Range (um)': 3,
            'Focus Points X': 4,
            'Focus Points Y': 5,
            'Focus Exposure': 6
        }
        self.FocusFrame = tk.Frame(self.imaging_parameters)
        self.FocusFrame.grid(row=0,
                             column=2,
                             rowspan=9,
                             columnspan=2,
                             sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.FocusFrame, 7, 2)
        tk.Label(self.FocusFrame, text="Focus").grid(row=0,
                                                     column=0,
                                                     columnspan=4)
        for k, v in self.focus_params.items():
            self.focus_params[k] = Entry(self.FocusFrame, k, get_default(k), v)

        # Saving
        self.saving_params = {
            'Folder': 1,
            'Output Image Pixel Width': 2,
            'Output Image Pixel Height': 3
        }
        self.SaveFrame = tk.Frame(self.imaging_parameters,
                                  highlightbackground="black",
                                  highlightcolor="black",
                                  highlightthickness=1)
        self.SaveFrame.grid(row=9,
                            column=2,
                            rowspan=6,
                            columnspan=2,
                            sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.SaveFrame, 4, 3)
        tk.Label(self.SaveFrame, text="Saving").grid(row=0,
                                                     column=0,
                                                     columnspan=4)
        for k, v in self.saving_params.items():
            self.saving_params[k] = Entry(self.SaveFrame, k, get_default(k), v)
        tk.Button(self.SaveFrame,
                  text='...',
                  command=lambda: self.get_directory(self.saving_params[
                      'Folder'])).grid(row=1, column=2)

        # System Tab Layout
        # General
        self.system_params = {
            'Alignment Model': 1,
            'Focus Model': 2,
            'Objective': 3,
            'Apartments in Image X': 4,
            'Apartments in Image Y': 5,
            'Image Rotation (degrees)': 6,
        }
        self.SystemFrame = tk.Frame(self.system,
                                    highlightbackground="black",
                                    highlightcolor="black",
                                    highlightthickness=1)
        self.SystemFrame.grid(row=0,
                              column=0,
                              rowspan=14,
                              columnspan=2,
                              sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.SystemFrame, 7, 3)
        tk.Label(self.SystemFrame, text="General").grid(row=0,
                                                        column=0,
                                                        columnspan=4)
        for k, v in self.system_params.items():
            if k == 'Image Rotation (degrees)':
                self.system_params[k] = DropDown(self.SystemFrame, k,
                                                 get_default(k),
                                                 ['0', '90', '180', '270'], v)
            else:
                self.system_params[k] = Entry(self.SystemFrame, k,
                                              get_default(k), v)
        tk.Button(self.SystemFrame,
                  text='...',
                  command=lambda: self.get_filename(self.system_params[
                      'Alignment Model'])).grid(row=1, column=2)
        tk.Button(self.SystemFrame,
                  text='...',
                  command=lambda: self.get_filename(self.system_params[
                      'Focus Model'])).grid(row=2, column=2)

        # Calibration
        self.calibration_params = {
            'Frame to Pixel Ratio': 2,
            'First Position X': 5,
            'First Position Y': 6,
        }
        self.CalibrationFrame = tk.Frame(self.system)
        self.CalibrationFrame.grid(row=0,
                                   column=2,
                                   rowspan=14,
                                   columnspan=2,
                                   sticky=tk.W + tk.E + tk.N + tk.S)
        row_col_config(self.CalibrationFrame, 6, 3)
        tk.Label(self.CalibrationFrame, text="Calibration").grid(row=0,
                                                                 column=0,
                                                                 columnspan=4)

        tk.Button(self.CalibrationFrame,
                  text='Calibrate Stage/Pixel Ratio',
                  command=self.ratio_calibrate).grid()
        self.calibration_params['Frame to Pixel Ratio'] = Entry(
            self.CalibrationFrame, 'Calibrated Stage to Pixel Ratio:',
            get_default('Frame to Pixel Ratio'), 2)
        tk.Label(self.CalibrationFrame,
                 textvariable=self.calibration_params['Frame to Pixel Ratio']
                 ).grid()

        tk.Button(self.CalibrationFrame,
                  text='Calibrate First Postion',
                  command=self.first_point_calibration).grid()
        self.calibration_params['First Position X'] = Entry(
            self.CalibrationFrame, 'Calibrated First Postion X:',
            get_default('First Position X'), 5)
        self.calibration_params['First Position Y'] = Entry(
            self.CalibrationFrame, 'Calibrated First Postion Y:',
            get_default('First Position Y'), 6)
        tk.Label(
            self.CalibrationFrame,
            textvariable=self.calibration_params['First Position X']).grid()
        tk.Label(
            self.CalibrationFrame,
            textvariable=self.calibration_params['First Position Y']).grid()

        self.x_stage_dir = tk.BooleanVar()
        self.y_stage_dir = tk.BooleanVar()

        tk.Checkbutton(self.CalibrationFrame,
                       text='Flip X Stage Direction',
                       variable=self.x_stage_dir,
                       onvalue=True,
                       offvalue=False,
                       command=self.toggle_stage_direction).grid()
        tk.Checkbutton(self.CalibrationFrame,
                       text='Flip X Stage Direction',
                       variable=self.y_stage_dir,
                       onvalue=True,
                       offvalue=False,
                       command=self.toggle_stage_direction).grid()

        ######################################################
        # Get Stage Controller
        ######################################################
        self.mmc = sc_utils.get_stage_controller("COM7")
Esempio n. 18
0
import sys
import os
import json
import requests
import urllib
import tkinter as tk
from tkinter import ttk
from ttkHyperlinkLabel import HyperlinkLabel
from tkinter import messagebox
import myNotebook as nb
import time
import re

this = sys.modules[__name__]	# For holding module globals
this.status = tk.StringVar()
this.edsm_setting = None
this.app_name = 'ATEL-EDMC'
this.installed_version = 1.32
this.github_latest_version = "https://raw.githubusercontent.com/Elite-IGAU/ATEL-EDMC/latest/ATEL/version.txt"
this.plugin_source = "https://raw.githubusercontent.com/Elite-IGAU/ATEL-EDMC/latest/ATEL/load.py"
this.api = "https://ddss70885k.execute-api.us-west-1.amazonaws.com/Prod"
this.atel = "https://01ixzg9ifh.execute-api.us-west-1.amazonaws.com/Prod"
PADX = 10  # formatting

def plugin_start3(plugin_dir):
    check_version()
    return 'ATEL'

def plugin_prefs(parent, cmdr, is_beta):
    frame = nb.Frame(parent)
Esempio n. 19
0
    client_socket.send(bytes(msg, "utf8"))
    if msg == "{quit}":
        client_socket.close()
        top.quit()


def on_closing(event=None):
    my_msg.set("{quit}")
    send()


top = tkinter.Tk()
top.title("Chatter")

messages_frame = tkinter.Frame(top)
my_msg = tkinter.StringVar()
my_msg.set("")
scrollbar = tkinter.Scrollbar(messages_frame)
msg_list = tkinter.Listbox(messages_frame, height=30, width=100, yscrollcommand=scrollbar.set)
scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
msg_list.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
msg_list.pack()
messages_frame.pack()

entry_field = tkinter.Entry(top, textvariable=my_msg)
entry_field.bind("<Return>", send)
entry_field.pack()
send_button = tkinter.Button(top, text="Send", command=send)
send_button.pack()

top.protocol("WM_DELETE_WINDOW", on_closing)
Esempio n. 20
0
    except EOFError:
        messagebox.showerror("Error", "EOF Error")
    except:
        messagebox.showerror("Error", "Error Occured")


##############################################################################################################
##############################################################################################################
##############################################################################################################
##############################################################################################################
##############################################################################################################

# Changing our Label
ttk.Label(win, text="Enter a keyword to search:").grid(column=2, row=2)
# Adding a Textbox Entry widget
name = tk.StringVar()
nameEntered = ttk.Entry(win, width=40, textvariable=name)
nameEntered.grid(column=2, row=4)

##############################################################################################################
##############################################################################################################
##############################################################################################################
##############################################################################################################
##############################################################################################################


def toggle(*_):
    if name.get():
        action1['state'] = 'normal'
    else:
        action1['state'] = 'disabled'
# LabelFrame using tab1 as the parent
mighty = ttk.LabelFrame(tab1, text=' Mighty Python ')
mighty.grid(column=0, row=0, padx=8, pady=4)

# Modify adding a Label using mighty as the parent instead of win
a_label = ttk.Label(mighty, text="Enter a name:")
a_label.grid(column=0, row=0, sticky='W')


# Modified Button Click Function
def click_me():
    action.configure(text='Hello ' + name.get() + ' ' + number_chosen.get())


# Adding a Textbox Entry widget
name = tk.StringVar()
name_entered = ttk.Entry(mighty, width=12, textvariable=name)
name_entered.grid(column=0, row=1, sticky='W')  # align left/West

# Adding a Button
action = ttk.Button(mighty, text="Click Me!", command=click_me)
action.grid(column=2, row=1)

ttk.Label(mighty, text="Choose a number:").grid(column=1, row=0)
number = tk.StringVar()
number_chosen = ttk.Combobox(mighty,
                             width=12,
                             textvariable=number,
                             state='readonly')
number_chosen['values'] = (1, 2, 4, 42, 100)
number_chosen.grid(column=1, row=1)
    def __init__(self, parent, root):
        super().__init__(parent)
        topic = tk.Label(self, text='輸入收支', font=LARGE_FONT)
        topic.pack(pady=20) # 上下留空間

        # 日期
        date_topic = tk.Label(self, text='*選擇日期(年月日):', font=SMALL_FONT).pack()

        year_box = ttk.Combobox(self)
        year_box['values'] = tuple(year_list)
        year_box.pack()
        month_box = ttk.Combobox(self)
        month_box['values'] = tuple(month_list)
        month_box.pack()
        day_box = ttk.Combobox(self)
        day_box['values'] = tuple(day_list)
        day_box.pack()


        # 收或支多少、取得類別(有互動)
        space1 = tk.Label(self, text='').pack()
        money_topic = tk.Label(self, text='*金額:', font=SMALL_FONT).pack()

        radioValue = tk.IntVar()
        income_box = tk.Radiobutton(self, text='收入', font=SMALLER_FONT, variable=radioValue, value=0).pack()
        expense_box = tk.Radiobutton(self, text='支出', font=SMALLER_FONT, variable=radioValue, value=1).pack()

        amount_var = tk.StringVar()
        amount_box = tk.Entry(self, textvariable=amount_var, bd=1).pack() # bd = 邊框


        # 類別
        space2 = tk.Label(self, text='').pack()
        sort_topic = tk.Label(self, text='*主分類:', font=SMALL_FONT).pack()

        sort_box = ttk.Combobox(self)
        sort_box['values'] = tuple(sort)
        sort_box.pack()
        
        #子類別
        space13 = tk.Label(self, text='').pack()
        small_sort_topic = tk.Label(self, text='*子分類:', font = SMALL_FONT).pack()

        small_sort_box = ttk.Combobox(self)
        small_sort_box['values'] = tuple(small_sort)
        small_sort_box.pack()
        
        # 飲食類別
        space12 = tk.Label(self, text='').pack()
        food_topic = tk.Label(self, text='飲食類別:', font=SMALL_FONT).pack()
        
        food_box = ttk.Combobox(self)
        food_box['values'] = tuple(food_list)
        food_box.pack()

        # 金融方式
        space3 = tk.Label(self, text='').pack()
        way_topic = tk.Label(self, text='*方式:', font=SMALL_FONT).pack()

        way_box = ttk.Combobox(self)
        way_box['values'] = tuple(way_list)
        way_box.pack()

        # 備註
        space4 = tk.Label(self, text='').pack()
        btw_topic = tk.Label(self, text='備註:', font=SMALL_FONT).pack()

        btw_var = tk.StringVar()
        btw = tk.Entry(self, textvariable=btw_var, bd=1).pack()

        def confirm_everything_func():
            # =0:正確、=-1:錯誤
            def confirm_date_func(): 
                test_temp = 0 
                if (year_box.get()== '') or (month_box.get()=='') or (day_box.get()==''):
                    test_temp = -1
                if month_box.get() in the_thirties:
                    if day_box.get() == '31':
                        test_temp = -1
                elif month_box.get() == 'Feb':
                    if (int(year_box.get()) == 2100) or (int(year_box.get())%4 != 0):
                        if int(day_box.get()) > 28:
                            test_temp = -1
                    elif int(year_box.get())%4 == 0: 
                        if int(day_box.get()) > 29:
                            test_temp = -1
                return test_temp
            
            def confirm_amount_func():
                test_temp = 0
                if (amount_var.get()).isdigit() == False:
                    test_temp = -1
                elif int(amount_var.get()) <= 0:
                    test_temp = -1
                return test_temp

            def confirm_sort_func():
                test_temp = 0
                if sort_box.get() == '':
                    test_temp = -1
                if sort_box.get() == '-----------收入-----------':
                    test_temp = -1
                if sort_box.get() == '-----------支出-----------':
                    test_temp = -1
                return test_temp

            def confirm_small_sort_func():
                test_temp = 0
                if radioValue.get() == 0 and small_sort_box.get() != '收入':
                    test_temp = -1
                if small_sort_box.get() == '--------------------------':
                    test_temp = -1
                if (sort_box.get() in out_sort) and (small_sort_box.get() not in sort_dict_simple[sort_box.get()]):
                    test_temp = -1
                return test_temp
            
            def confirm_food_func():
                test_temp = 0
                if (sort_box.get() == '食品酒水') and (food_box.get() == ''):
                    test_temp = -1
                elif (sort_box.get() != '食品酒水') and (food_box.get() != '無 / 不適用'):
                    test_temp = -1
                return test_temp

            def confirm_inex_sort_match_func():
                test_temp = 0
                if radioValue.get() == 0:
                    if sort_box.get() not in in_sort:
                        test_temp = -1
                if radioValue.get() == 1:
                    if sort_box.get() not in out_sort:
                        test_temp = -1
                return test_temp
            
            def confirm_way_func():
                test_temp = 0
                if way_box.get() == '':
                    test_temp = -1
                return test_temp
            
            error = 0 # 檢測各項是否有效。若無效,按確認輸入不會收取值
            error += confirm_date_func()
            error += confirm_amount_func()
            error += confirm_sort_func()
            error += confirm_small_sort_func()
            error += confirm_food_func()
            error += confirm_inex_sort_match_func()
            error += confirm_way_func()
            if error != 0:
                tkinter.messagebox.showinfo('錯誤','有什麼沒寫或寫錯囉!')
            elif error ==0:
                tkinter.messagebox.showinfo('已輸入','已輸入')
            
                in_ex = ''

                if radioValue.get() == 0:
                    in_ex = 'Income'
                elif radioValue.get() == 1:
                    in_ex = 'Expense'
                
                if food_box.get() == '無 / 不適用':
                    food_number = 16
                else:
                    food_number = pure_food_number_list[pure_food_list.index(food_box.get())]

                if month_list.index(month_box.get())+1<10 and int(day_box.get())<10:
                    date_str = year_box.get()+'-0'+str(month_list.index(month_box.get())+1)+'-0'+day_box.get()
                elif month_list.index(month_box.get())+1<10 and int(day_box.get())>=10:
                    date_str = year_box.get()+'-0'+str(month_list.index(month_box.get())+1)+'-'+day_box.get()
                elif month_list.index(month_box.get())+1>=10 and int(day_box.get())<10:
                    date_str = year_box.get()+'-'+str(month_list.index(month_box.get())+1)+'-0'+day_box.get()
                elif month_list.index(month_box.get())+1>=10 and int(day_box.get())>=10:
                    date_str = year_box.get()+'-'+str(month_list.index(month_box.get())+1)+'-'+day_box.get()
                
                way_number = way_number_list[way_list.index(way_box.get())]
                
                if small_sort_box.get() == '收入':
                    small_or_in_sort_number = in_sort_number_list[in_sort.index(sort_box.get())]
                else:
                    small_or_in_sort_number = pure_small_sort_number[pure_small_sort.index(small_sort_box.get())]
     
                r = [in_ex, btw_var.get(), food_number, date_str, int(amount_var.get()),way_number, small_or_in_sort_number]

                store = db.Entry()
                timenow = dt.strptime(dt.now().isoformat(), '%Y-%m-%dT%H:%M:%S.%f')  # YYYY-MM-DD HH:MM:SS.SSS
                in_ex, description, cui_id, ymd, price, method, id = r[0], r[1], r[2], r[3], r[4], r[5], r[6]
                store.add_entry(in_ex, description, cui_id, ymd, price, method, timenow, id)

        # 完成
        space5 = tk.Label(self, text='').pack()
        confirm_everything_button = tk.Button(self, text='確認輸入', font=SMALL_FONT, fg='red', command=confirm_everything_func).pack()

        back = tk.Button(self, text='返回', font=SMALL_FONT, command=lambda: root.show_frame(StartPage)).place(x=40,y=590)
Esempio n. 23
0
import tkinter as tk
import tkinter.messagebox
 
window = tk.Tk()
window.title("注册登陆页面")
window.geometry("500x400")
 
canvas = tk.Canvas(window, height=300, width=500)
#image_file = tk.PhotoImage(file="welcome.gif")
#image = canvas.create_image(0, 0, anchor='nw', image=image_file)
canvas.pack(side='top')
 
tk.Label(window, text='User name:').place(x=50, y=200)
tk.Label(window, text='Password:'******'请输入用户名')
 
var_usr_pwd = tk.StringVar()
#var_usr_pwd.set('请输入密码')
 
entry_usr_name = tk.Entry(window, textvariable=var_usr_name)
entry_usr_name.place(x=160, y=200)
entry_usr_pwd = tk.Entry(window, textvariable=var_usr_pwd, show='*')
entry_usr_pwd.place(x=160, y=250)
 
 
def usr_login():
    usr_name = var_usr_name.get()
    usr_pwd = var_usr_pwd.get()
 
    def __init__(self, arg):
        self.Email = arg
        self.up_data = tk.Toplevel()
        self.up_data.title('Atualizar Dados')
        self.up_data.iconbitmap("book.ico")
        self.up_data.geometry('380x350+450+50')
        self.up_data['bg'] = 'white'

        tk.Label(self.up_data,
                 text='Atualizar seus dados',
                 font='Ariel 15 bold',
                 fg='#66ff66',
                 bg='white').grid(row=0,
                                  column=0,
                                  columnspan=2,
                                  sticky=tk.W + tk.E,
                                  pady=20,
                                  padx=80)

        tk.Label(self.up_data,
                 text='Nome',
                 font='Ariel 12 bold',
                 fg='#66ff66',
                 bg='white').grid(row=1, column=0, padx=5, pady=5)

        tk.Label(self.up_data,
                 text='CPF',
                 font='Ariel 12 bold',
                 fg='#66ff66',
                 bg='white').grid(row=2, column=0, padx=5, pady=5)

        tk.Label(self.up_data,
                 text='RG',
                 font='Ariel 12 bold',
                 fg='#66ff66',
                 bg='white').grid(row=3, column=0, padx=5, pady=5)

        tk.Label(self.up_data,
                 text='Endereço',
                 font='Ariel 12 bold',
                 fg='#66ff66',
                 bg='white').grid(row=4, column=0, padx=5, pady=5)

        self.name_var = tk.StringVar(self.up_data, value="")
        self.name_entry = ttk.Entry(self.up_data,
                                    width=30,
                                    textvariable=self.name_var)
        self.name_entry.grid(row=1, column=1)

        self.cpf_var = tk.StringVar(self.up_data, value="")
        self.cpf_entry = ttk.Entry(self.up_data,
                                   width=30,
                                   textvariable=self.cpf_var)
        self.cpf_entry.grid(row=2, column=1)

        self.rg_var = tk.StringVar(self.up_data, value="")
        self.rg_entry = ttk.Entry(self.up_data,
                                  width=30,
                                  textvariable=self.rg_var)
        self.rg_entry.grid(row=3, column=1)

        self.address_var = tk.StringVar(self.up_data, value="")
        self.address_entry = ttk.Entry(self.up_data,
                                       width=30,
                                       textvariable=self.address_var)
        self.address_entry.grid(row=4, column=1)

        res = self.search_db()

        self.name_var.set(res[0]['Nome'])
        self.cpf_var.set(res[0]['CPF'])
        self.rg_var.set(res[0]['RG'])
        self.address_var.set(res[0]['Endereco'])

        tk.Button(self.up_data,
                  width=10,
                  text='Editar',
                  bg='#66ff66',
                  fg='white',
                  font='Avalon 13',
                  bd=2,
                  relief='ridge',
                  activeforeground='#66ff66',
                  activebackground='white',
                  cursor="hand2",
                  command=self.update).grid(row=5,
                                            column=0,
                                            columnspan=2,
                                            pady=30)

        self.up_data.mainloop()
Esempio n. 25
0
shuffle_json = params['shuffle']
int_plus = params['int_plus']
int_subtract = params['int_subtract']
int_multiply = params['int_multiply']
int_divide = params['int_divide']

#initializing windows
win = tk.Tk()
win.title('小学生算术题生成器 - Yme')
win.geometry('800x800+200+50')
tk.Label(win, text='算术题生成器', font=('黑体', 32)).pack()

#save file settings
frame_fn = tk.Frame(win)
frame_fn.pack(side=tk.TOP)
filename = tk.StringVar()
ansname = tk.StringVar()
timesave = tk.BooleanVar()
timesave.set(False)
filename_label = tk.Label(frame_fn, text='将问题集保存到:')
ansname_label = tk.Label(frame_fn, text='将答案保存到:')
filename_entry = tk.Entry(frame_fn, textvariable=filename, width=40)
ansname_entry = tk.Entry(frame_fn, textvariable=ansname, width=40)
timesave_check = tk.Checkbutton(frame_fn, text='按时间保存', variable=timesave)
timesave_label = tk.Label(frame_fn, text='勾选此项后,命名格式为默认名+时间')
filename_entry.insert(tk.INSERT, filename_json)
ansname_entry.insert(tk.INSERT, ansname_json)
filename_label.grid(row=0, column=0)
filename_entry.grid(row=0, column=1)
timesave_check.grid(row=0, column=2)
timesave_label.grid(row=1, column=2)
Esempio n. 26
0
    def __init__(self, root):
        self.root = root
        self.root.geometry("1050x600")
        self.mainframe = tk.Frame(self.root, padx=20, pady=20)
        self.mainframe.pack(fill=tk.BOTH, expand=True)

        self.entry_frame = tk.Frame(master=self.mainframe, padx=5, pady=5)
        self.entry_frame.pack(anchor="nw")

        data_dictionary_label = tk.Label(master=self.entry_frame,
                                         text="Data Dictionary: ",
                                         width=12)
        data_dictionary_label.grid(row=0, column=0)
        self.data_dictionary_path = tk.StringVar()
        data_dictionary_path_entry = tk.Entry(
            master=self.entry_frame,
            width=77,
            textvariable=self.data_dictionary_path,
            disabledbackground="white")
        data_dictionary_path_entry.grid(row=0, column=1)
        data_dictionary_path_entry.configure(state="disabled")
        load_btn = ttk.Button(master=self.entry_frame,
                              text="Load",
                              command=self.load_dd)
        load_btn.grid(row=0, column=2)

        empty_label = tk.Label(master=self.entry_frame, text="")
        empty_label.grid(row=1, column=0)

        text_box_label = tk.Label(master=self.entry_frame,
                                  text="Fix Strings: ")
        text_box_label.grid(row=2, column=0, sticky="n")
        load_strings_btn = ttk.Button(master=self.entry_frame,
                                      text="Import",
                                      command=self.load_fix_file)
        load_strings_btn.grid(row=2, column=2, sticky="n")
        self.text_box = ScrolledText(master=self.entry_frame,
                                     width=100,
                                     height=10,
                                     wrap="none")
        self.text_box.grid(row=2, column=1)
        button_pane = tk.Frame(master=self.entry_frame)
        button_pane.grid(row=3, column=1)
        clear_btn = ttk.Button(master=button_pane,
                               text="Clear",
                               command=self.clear)
        clear_btn.pack(side=tk.LEFT)
        parse_btn = ttk.Button(master=button_pane,
                               text="Parse",
                               command=self.parse)
        parse_btn.pack(side=tk.LEFT)

        search_pane = tk.Frame(master=self.mainframe)
        search_pane.pack()
        self.search_str = tk.StringVar()
        search_entry = tk.Entry(master=search_pane,
                                width=50,
                                textvariable=self.search_str)
        search_entry.pack(side=tk.LEFT)
        search_btn = ttk.Button(master=search_pane,
                                text="Search",
                                command=self.search)
        search_btn.pack(side=tk.LEFT)
        reset_btn = ttk.Button(master=search_pane,
                               text="Reset",
                               command=self.reset_search)
        reset_btn.pack(side=tk.LEFT)

        self.output_notebook = ttk.Notebook(master=self.mainframe)
        self.output_notebook.pack(fill=tk.BOTH, expand=True)
        self.text_widget_list = []
Esempio n. 27
0
    return next_card


def deal_dealer():
    deal_card(dealer_card_frame)


def deal_player():
    deal_card(player_card_frame)


# Set up the screen and frames for the dealer and player
mainWindow.title("Black Jack")
mainWindow.geometry("640x480")

result_text = tkinter.StringVar()
result = tkinter.Label(mainWindow, textvariable=result_text)
result.grid(row=0, column=0, columnspan=3)

card_frame = tkinter.Frame(mainWindow, relief="sunken", borderwidth=1, background="green")
card_frame.grid(row=1, column=0, sticky="ew", columnspan=3, rowspan=2)

dealer_score_label = tkinter.IntVar()
tkinter.Label(card_frame, text="Dealer", background="green", fg='white').grid(row=0, column=0)
tkinter.Label(card_frame, textvariable=dealer_score_label, background="green", fg="white").grid(row=1, column=0)
# embeded frame to hold the card images.
dealer_card_frame = tkinter.Frame(card_frame, background="green")
dealer_card_frame.grid(row=0, column=1, stick="ew", rowspan=2)

player_score_label = tkinter.IntVar()
tkinter.Label(card_frame, text="Player", background="green", fg="white").grid(row=2, column=0)
Esempio n. 28
0
File: ui.py Progetto: sarosenb/pyfrc
    def _setup_widgets(self, frame, field_size, px_per_ft):

        top = tk.Frame(frame)
        top.grid(column=0, row=0)

        bottom = tk.Frame(frame)
        bottom.grid(column=0, row=1)

        self.field = RobotField(frame, self.manager, field_size, px_per_ft)
        self.field.grid(column=1, row=0, rowspan=2)

        # status bar
        self.status = tk.Label(frame, bd=1, relief=tk.SUNKEN, anchor=tk.E)
        self.status.grid(column=0, row=2, columnspan=2, sticky=tk.W + tk.E)

        # analog
        slot = tk.LabelFrame(top, text='Analog')
        self.analog = []

        for i in range(1, 9):
            label = tk.Label(slot, text=str(i - 1))
            label.grid(column=0, row=i)

            vw = ValueWidget(slot, clickable=True, minval=-10.0, maxval=10.0)
            vw.grid(column=1, row=i)

            self.analog.append(vw)

        slot.pack(side=tk.LEFT, fill=tk.Y, padx=5)

        # digital
        slot = tk.LabelFrame(top, text='Digital')

        label = tk.Label(slot, text='PWM')
        label.grid(column=0, columnspan=4, row=0)
        self.pwm = []

        for i in range(len(hal_data['pwm'])):

            c = i // 10

            label = tk.Label(slot, text=str(i))
            label.grid(column=0 + 2 * c, row=1 + i % 10)

            vw = ValueWidget(slot)
            vw.grid(column=1 + 2 * c, row=1 + i % 10)
            self.pwm.append(vw)

        label = tk.Label(slot, text='Digital I/O')
        label.grid(column=4, columnspan=6, row=0)
        self.dio = []

        for i in range(len(hal_data['dio'])):

            c = i // 9

            label = tk.Label(slot, text=str(i))
            label.grid(column=4 + c * 2, row=1 + i % 9)

            pi = PanelIndicator(slot, clickable=True)
            pi.grid(column=5 + c * 2, row=1 + i % 9)
            self.dio.append(pi)

        label = tk.Label(slot, text='Relay')
        label.grid(column=10, columnspan=2, row=0, padx=5)
        self.relays = []

        for i in range(len(hal_data['relay'])):
            label = tk.Label(slot, text=str(i))
            label.grid(column=10, row=1 + i, sticky=tk.E)

            pi = PanelIndicator(slot)
            pi.grid(column=11, row=1 + i)
            self.relays.append(pi)

        slot.pack(side=tk.LEFT, fill=tk.Y, padx=5)

        csfm = tk.Frame(top)

        # solenoid
        slot = tk.LabelFrame(csfm, text='Solenoid')
        self.solenoids = []

        for i in range(len(hal_data['solenoid'])):
            label = tk.Label(slot, text=str(i))

            c = int(i / 2) * 2
            r = i % 2

            label.grid(column=0 + c, row=r)

            pi = PanelIndicator(slot)
            pi.grid(column=1 + c, row=r)

            self.solenoids.append(pi)

        slot.pack(side=tk.TOP, fill=tk.BOTH, padx=5)

        # CAN
        self.can_slot = tk.LabelFrame(csfm, text='CAN')
        self.can_slot.pack(side=tk.LEFT, fill=tk.BOTH, expand=1, padx=5)
        self.can = {}

        csfm.pack(side=tk.LEFT, fill=tk.Y)

        # joysticks
        slot = tk.LabelFrame(bottom, text='Joysticks')

        self.joysticks = []

        for i in range(4):

            axes = []
            buttons = []

            col = 1 + i * 3

            label = tk.Label(slot, text='Stick %s' % i)
            label.grid(column=col, columnspan=3, row=0)

            for j, t in enumerate(['X', 'Y', 'Z', 'T']):
                label = tk.Label(slot, text=t)
                label.grid(column=col, row=j + 1)

                vw = ValueWidget(slot, clickable=True, default=0.0)
                vw.grid(column=col + 1, row=j + 1, columnspan=2)

                axes.append(vw)

            for j in range(1, 11):
                var = tk.IntVar()
                ck = tk.Checkbutton(slot, text=str(j), variable=var)
                ck.grid(column=col + 1 + (1 - j % 2), row=5 + int((j - 1) / 2))
                buttons.append((ck, var))

                if j == 1:
                    Tooltip.create(ck, 'Trigger')
                elif j == 2:
                    Tooltip.create(ck, 'Top')

            self.joysticks.append((axes, buttons))

        slot.pack(side=tk.LEFT, fill=tk.Y, padx=5)

        ctrl_frame = tk.Frame(bottom)

        # timing control
        timing_control = tk.LabelFrame(ctrl_frame, text='Time')

        #self.

        def _set_realtime():
            if realtime_mode.get() == 0:
                step_button.pack_forget()
                step_entry.pack_forget()
                self.on_pause(False)
            else:
                step_button.pack(fill=tk.X)
                step_entry.pack()
                self.on_pause(True)

        realtime_mode = tk.IntVar()

        button = tk.Radiobutton(timing_control,
                                text='Run',
                                variable=realtime_mode,
                                value=0,
                                command=_set_realtime)
        button.pack(fill=tk.X)

        button = tk.Radiobutton(timing_control,
                                text='Pause',
                                variable=realtime_mode,
                                value=1,
                                command=_set_realtime)
        button.pack(fill=tk.X)

        step_button = tk.Button(timing_control,
                                text='Step',
                                command=self.on_step_time)
        self.step_entry = tk.StringVar()
        self.step_entry.set("0.025")
        step_entry = tk.Entry(timing_control,
                              width=6,
                              textvariable=self.step_entry)

        Tooltip.create(step_button,
                       'Click this to increment time by the step value')
        Tooltip.create(step_entry, 'Time to step (in seconds)')
        realtime_mode.set(0)

        timing_control.pack(side=tk.TOP, fill=tk.BOTH, expand=1)

        # simulation control
        sim = tk.LabelFrame(ctrl_frame, text='Robot')
        self.state_buttons = []

        self.mode = tk.IntVar()

        def _set_mode():
            self.manager.set_mode(self.mode.get())

        button = tk.Radiobutton(sim, text='Disabled', variable=self.mode, \
                                value=self.manager.MODE_DISABLED, command=_set_mode)
        button.pack(fill=tk.X)
        self.state_buttons.append(button)

        button = tk.Radiobutton(sim, text='Autonomous', variable=self.mode, \
                                value=self.manager.MODE_AUTONOMOUS, command=_set_mode)
        button.pack(fill=tk.X)
        self.state_buttons.append(button)

        button = tk.Radiobutton(sim, text='Teleoperated', variable=self.mode, \
                                value=self.manager.MODE_OPERATOR_CONTROL, command=_set_mode)
        button.pack(fill=tk.X)
        self.state_buttons.append(button)

        button = tk.Radiobutton(sim, text='Test', variable=self.mode, \
                                value=self.manager.MODE_TEST, command=_set_mode)
        button.pack(fill=tk.X)
        self.state_buttons.append(button)

        self.robot_dead = tk.Label(sim, text='Robot died!', fg='red')

        sim.pack(side=tk.TOP, fill=tk.BOTH, expand=1)

        ctrl_frame.pack(side=tk.LEFT, fill=tk.Y)
Esempio n. 29
0
    def update_display(self):
        try:
            if self._update_key == True:
                for i in self.players:
                    if i.active == False:
                        self.background.itemconfig(i.player_active,
                                                   fill='#888888')
                    else:
                        self.background.itemconfig(i.player_active,
                                                   fill='white')
                    if i.money == 0 and i.all_in == False:
                        self.background.itemconfig(i.player_active,
                                                   fill='#555555')
                    self.background.itemconfig(i.player_hand, text=f"{i.hand}")
                    self.background.itemconfig(i.player_money,
                                               text=f"{i.money} $")
                    self.background.itemconfig(i.player_bet,
                                               text=f"{i.current_bet}")
                    if i.all_in == True:
                        self.background.itemconfig(i.player_action,
                                                   text='All-in')
                    else:
                        self.background.itemconfig(i.player_action,
                                                   text=f'{i.last_move}')
                    if i.dealer == False and i.small_blind == False and i.big_blind == False:
                        self.background.itemconfig(i.player_button,
                                                   fill='',
                                                   width=0)
                        self.background.itemconfig(i.player_button_name,
                                                   text=f"")
                    else:
                        if i.dealer == True:
                            self.background.itemconfig(i.player_button,
                                                       fill='white',
                                                       width=1)
                            self.background.itemconfig(i.player_button_name,
                                                       text=f"DE",
                                                       font=(None, 10, 'bold'),
                                                       fill='red')
                        if i.small_blind == True:
                            self.background.itemconfig(i.player_button,
                                                       fill='white',
                                                       width=1)
                            self.background.itemconfig(i.player_button_name,
                                                       text=f"SB",
                                                       font=(None, 10, 'bold'),
                                                       fill='black')
                        if i.big_blind == True:
                            self.background.itemconfig(i.player_button,
                                                       fill='white',
                                                       width=1)
                            self.background.itemconfig(i.player_button_name,
                                                       text=f"BB",
                                                       font=(None, 10, 'bold'),
                                                       fill='black')

                try:
                    for i in self.pot_table:
                        i.grid_forget()
                except:
                    self._log_message('Impossible de pot_table.grid_forget()',
                                      False)

                self.pot_table = list()
                if len(self.board.pots) > 0:
                    for i in range(len(self.board.pots)):
                        slot = tk.Entry(
                            self.pots,
                            textvariable=tk.StringVar(value=[
                                x.id for x in self.board.pots[i]['player_list']
                            ]))
                        slot.grid(row=0, column=i)
                        slot2 = tk.Entry(
                            self.pots,
                            textvariable=tk.StringVar(
                                value=self.board.pots[i]['value']))
                        slot2.grid(row=1, column=i)
                        self.pot_table.append(slot)
                        self.pot_table.append(slot2)

                self.background.itemconfig(
                    self.community_cards, text=f"{self.board.community_cards}")
                self.background.itemconfig(
                    self.pot,
                    text=
                    f"Current bid : {self.board.current_bid}\n{[x.id for x in self.board.active_pot['player_list']]}\n{self.board.active_pot['value']}"
                )
                self.root.after(500, self.update_display)

        except:
            print("Fenêtre introuvable")
    def __init__(self, master):

        # Graphical User Interface ----------------------------------------------

        self.s = ttk.Style()
        self.s.configure('TLabel', foreground='Black', background='white')
        self.s.configure('TButton', foreground='black', background='white')
        self.s.configure('about.TLabel',
                         forground='black',
                         background='#f2d211')
        self.s.configure('TEntry', foreground='Blue')
        self.s.configure('TCheckbutton',
                         foreground='black',
                         background='white')
        self.s.configure('TMenubutton',
                         background='white',
                         foreground='black',
                         width=25)
        self.s.configure('TLabelframe', foreground='black', background='white')
        self.s.configure('TFrame', background='white')

        # Window properties -----------------------------------------------------
        self.master = master
        master.wm_title("LSFR for Python")
        master.resizable(0, 0)
        # -----------------------------------------------------------------------

        # Variables -------------------------------------------------------------
        self.option = tk.StringVar(master)  # default fit type
        self.option.set(fitsTypes[0])  # default fit type

        self.gridLineCheckCmd = tk.IntVar()  # Gridline check command
        self.gridLineCheckCmd.set(1)

        self.residualsCheckCmd = tk.IntVar()  # resiuduals check command
        self.residualsCheckCmd.set(1)

        self.parametersCheckCmd = tk.IntVar()  # parametres check command
        self.parametersCheckCmd.set(1)

        self.xMinAutoCheckCmd = tk.IntVar()  # X min check command
        self.xMinAutoCheckCmd.set(1)

        self.xMaxAutoCheckCmd = tk.IntVar()  # X max check command
        self.xMaxAutoCheckCmd.set(1)

        self.yMinAutoCheckCmd = tk.IntVar()  # Y min check command
        self.yMinAutoCheckCmd.set(1)

        self.yMaxAutoCheckCmd = tk.IntVar()  # Y max check command
        self.yMaxAutoCheckCmd.set(1)

        self.ignoreFirstLineCmd = tk.IntVar()  # Ignore first line command
        self.ignoreFirstLineCmd.set(0)

        self.marker_option = tk.StringVar(master)  # default marker option
        self.marker_option.set('x')  # default marker option

        self.line_option = tk.StringVar(master)  # default linestyle
        self.line_option.set('-')  # default linestyle

        # -----------------------------------------------------------------------

        # Frames ----------------------------------------------------------------

        self.frame0 = tk.Frame(master, bd=2, bg='white')
        self.frame1 = tk.LabelFrame(master,
                                    text=" Plot Options ",
                                    background='white')
        self.xAxisLimits = tk.LabelFrame(self.frame1,
                                         text=" X-Axis Limits ",
                                         bg='white')
        self.yAxisLimits = tk.LabelFrame(self.frame1,
                                         text=" Y-Axis Limits ",
                                         background='white')

        self.frame2 = tk.LabelFrame(master,
                                    text=" Data Options ",
                                    background='white')

        self.frame3 = tk.LabelFrame(master,
                                    text=" File Preview ",
                                    background='white')

        self.frame4 = ttk.Frame(master)

        # -----------------------------------------------------------------------

        # Frame grid positions --------------------------------------------------

        self.frame0.grid(row=0, columnspan=2, sticky='NSEW')

        self.frame1.grid(row=1,
                         columnspan=2,
                         sticky='NSEW',
                         padx=5,
                         pady=5,
                         ipadx=5,
                         ipady=15)
        self.xAxisLimits.grid(row=0,
                              column=3,
                              padx=5,
                              pady=5,
                              ipadx=5,
                              ipady=5,
                              sticky='E')

        self.yAxisLimits.grid(row=1,
                              rowspan=3,
                              column=3,
                              padx=5,
                              pady=5,
                              ipadx=5,
                              ipady=5)

        self.frame2.grid(row=2,
                         rowspan=3,
                         column=0,
                         sticky='NESW',
                         padx=5,
                         pady=5,
                         ipadx=1,
                         ipady=5)

        self.frame3.grid(row=2,
                         rowspan=5,
                         column=1,
                         sticky='NESW',
                         padx=5,
                         pady=5,
                         ipadx=0,
                         ipady=5)

        self.frame4.grid(row=6,
                         column=0,
                         sticky='NESW',
                         padx=5,
                         pady=5,
                         ipadx=0,
                         ipady=5)

        # -----------------------------------------------------------------------

        # Frame 0 widgets  ------------------------------------------------------

        self.about = ttk.Button(self.frame0, text=" About LSFR ")

        self.about.bind("<Button-1>", self.aboutLSFR)

        # -----------------------------------------------------------------------

        # Frame 0 widgets positions  --------------------------------------------

        self.about.grid(row=0, padx=7)

        # -----------------------------------------------------------------------

        # Frame 1 widgets  ------------------------------------------------------

        self.fitType = ttk.Label(self.frame1, text="Fit type: ")
        self.plotTitle = ttk.Label(self.frame1, text="Plot title: ")
        self.xLabel = ttk.Label(self.frame1, text="X-axis label: ")
        self.yLabel = ttk.Label(self.frame1, text="Y-axis label: ")

        self.fitTypeChoice = ttk.OptionMenu(self.frame1, self.option, '',
                                            fitsTypes[0], fitsTypes[1],
                                            fitsTypes[2])

        self.fitTypeChoice.configure(width=24)

        self.plotTitleEntry = ttk.Entry(self.frame1)
        self.xLabelEntry = ttk.Entry(self.frame1)
        self.yLabelEntry = ttk.Entry(self.frame1)

        self.plotTitleEntry.insert(0, string='Plot of my Data')
        self.xLabelEntry.insert(0, string='Abscissa')
        self.yLabelEntry.insert(0, string='Ordinate')

        self.markerLabel = ttk.Label(self.frame1, text="Marker style: ")
        self.markerOption = ttk.OptionMenu(self.frame1, self.marker_option, '',
                                           'None', '.', 'o', 'x', 'o', '*',
                                           '+')
        self.markerOption.configure(width=5)

        self.lineStyleLabel = ttk.Label(self.frame1, text="Line style: ")
        self.lineOption = ttk.OptionMenu(self.frame1, self.line_option, '',
                                         '-', '--', '-.', ':', 'None')
        self.lineOption.configure(width=5)

        self.gridLinesCheck = ttk.Checkbutton(self.frame1,
                                              text='Grid lines',
                                              variable=self.gridLineCheckCmd,
                                              onvalue=1,
                                              offvalue=0)

        self.residualsCheck = ttk.Checkbutton(self.frame1,
                                              text='Show residual plot',
                                              variable=self.residualsCheckCmd,
                                              onvalue=1,
                                              offvalue=0)

        self.showParametersCheck = ttk.Checkbutton(
            self.frame1,
            text='Show fitted Parameters',
            variable=self.parametersCheckCmd,
            onvalue=1,
            offvalue=0)

        self.frame1Spacer = ttk.Label(self.frame1,
                                      text="                                ")

        # -----------------------------------------------------------------------

        # Frame 1 widgets positions  --------------------------------------------

        self.fitType.grid(row=0, column=0, sticky='E', padx=23)
        self.fitTypeChoice.grid(row=0, column=1, sticky='EW')

        self.markerLabel.grid(row=1, column=0, sticky='E')
        self.markerOption.grid(row=1, column=1, sticky='W')

        self.lineStyleLabel.grid(row=2, column=0, sticky='E')
        self.lineOption.grid(row=2, column=1, sticky='W')

        self.plotTitle.grid(row=3, column=0, sticky='E', pady=3)
        self.plotTitleEntry.grid(row=3, column=1, sticky='W')

        self.xLabel.grid(row=4, column=0, sticky='E', pady=3)
        self.xLabelEntry.grid(row=4, column=1, sticky='W')

        self.yLabel.grid(row=5, column=0, sticky='E', pady=3)
        self.yLabelEntry.grid(row=5, column=1, sticky='W')

        self.gridLinesCheck.grid(row=6, column=1, sticky='W')

        self.residualsCheck.grid(row=7, column=1, sticky='W')

        self.showParametersCheck.grid(row=8, column=1, sticky='W')

        self.frame1Spacer.grid(row=0, column=2)

        # -----------------------------------------------------------------------

        # X-Axis Limit widgets  -------------------------------------------------

        self.xMin = ttk.Label(self.xAxisLimits, text='Min')
        self.xMinEntry = ttk.Entry(self.xAxisLimits, width=7, state='disabled')
        self.xMinAutoCheck = ttk.Checkbutton(self.xAxisLimits,
                                             variable=self.xMinAutoCheckCmd,
                                             onvalue=1,
                                             offvalue=0,
                                             command=self.disablexMinEntry,
                                             text='Auto')

        self.xMax = ttk.Label(self.xAxisLimits, text='Max')
        self.xMaxEntry = ttk.Entry(self.xAxisLimits, width=7, state='disabled')
        self.xMaxAutoCheck = ttk.Checkbutton(self.xAxisLimits,
                                             variable=self.xMaxAutoCheckCmd,
                                             onvalue=1,
                                             offvalue=0,
                                             command=self.disablexMaxEntry,
                                             text='Auto')

        # -----------------------------------------------------------------------

        # X-Axis Limit widgets positions ----------------------------------------

        self.xMin.grid(row=0, column=0, sticky='E', pady=5)
        self.xMinEntry.grid(row=0, column=1, sticky='W', pady=5)
        self.xMinAutoCheck.grid(row=0, column=2, padx=1, ipadx=1, pady=5)

        self.xMax.grid(row=1, column=0, sticky='E', pady=5)
        self.xMaxEntry.grid(row=1, column=1, sticky='W', pady=5)
        self.xMaxAutoCheck.grid(row=1, column=2, padx=1, ipadx=1, pady=5)

        # -----------------------------------------------------------------------

        # Y-Axis Limit widgets  -------------------------------------------------

        self.yMin = ttk.Label(self.yAxisLimits, text='Min')
        self.yMinEntry = ttk.Entry(self.yAxisLimits, width=7, state='disable')
        self.yMinAutoCheck = ttk.Checkbutton(self.yAxisLimits,
                                             variable=self.yMinAutoCheckCmd,
                                             onvalue=1,
                                             offvalue=0,
                                             command=self.disableyMinEntry,
                                             text="Auto")

        self.yMax = ttk.Label(self.yAxisLimits, text='Max')
        self.yMaxEntry = ttk.Entry(self.yAxisLimits, width=7, state='disable')
        self.yMaxAutoCheck = ttk.Checkbutton(self.yAxisLimits,
                                             variable=self.yMaxAutoCheckCmd,
                                             onvalue=1,
                                             offvalue=0,
                                             command=self.disableyMaxEntry,
                                             text="Auto")

        # -----------------------------------------------------------------------

        # Y-Axis Limit widgets positions ----------------------------------------

        self.yMin.grid(row=0, column=0, pady=5)
        self.yMinEntry.grid(row=0, column=1, pady=5)
        self.yMinAutoCheck.grid(row=0, column=2, padx=1, ipadx=1, pady=5)

        self.yMax.grid(row=1, column=0, pady=5)
        self.yMaxEntry.grid(row=1, column=1, pady=5)
        self.yMaxAutoCheck.grid(row=1, column=2, padx=1, ipadx=1, pady=5)

        # -----------------------------------------------------------------------

        # Frame 2 widgets  ------------------------------------------------------

        self.loadData = ttk.Button(self.frame2,
                                   text=" Load new data... ",
                                   command=self.openfile)
        self.directory = ttk.Label(self.frame2, text="Working directory: ")
        self.directoryDisplay = ttk.Entry(self.frame2, width=27)
        self.directoryDisplay.insert(0, string='(no directory selected)')
        self.directoryDisplay.configure(state='readonly')

        self.numberOfPoints = ttk.Label(self.frame2,
                                        text="Number of data points: ")
        self.numberOfPointsDisplay = ttk.Label(self.frame2, text="0")

        self.ignoreFirstLineCheck = ttk.Checkbutton(
            self.frame2,
            variable=self.ignoreFirstLineCmd,
            onvalue=1,
            offvalue=0,
            text='Ignore first line')

        # -----------------------------------------------------------------------

        # Frame 2 widgets positions  --------------------------------------------

        self.directory.grid(row=0, column=0, sticky='E', padx=5, pady=1)
        self.directoryDisplay.grid(row=0,
                                   column=1,
                                   sticky='WE',
                                   padx=1,
                                   pady=1)

        self.numberOfPoints.grid(row=1, column=0, sticky='E', padx=5, pady=1)
        self.numberOfPointsDisplay.grid(row=1,
                                        column=1,
                                        sticky='W',
                                        padx=5,
                                        pady=1)

        self.ignoreFirstLineCheck.grid(row=2,
                                       column=1,
                                       sticky='W',
                                       padx=1,
                                       pady=1)

        self.loadData.grid(row=3,
                           column=0,
                           sticky='NESW',
                           padx=5,
                           pady=1,
                           columnspan=2)

        # -----------------------------------------------------------------------

        # Frame 3 widgets  ------------------------------------------------------

        self.filePreview = tk.Listbox(self.frame3, borderwidth=0, width=40)
        self.filePreview.insert(1, '(no file loaded)')
        self.filePreview.configure(state='disable', width='30')

        # -----------------------------------------------------------------------

        # Frame 3 widgets positions  --------------------------------------------

        self.filePreview.pack(fill='both')

        # -----------------------------------------------------------------------

        # Frame 4 widgets  ------------------------------------------------------

        self.exit = ttk.Button(self.frame4,
                               text=' Exit ',
                               command=self.destroy,
                               width=4)
        self.plot = ttk.Button(self.frame4,
                               text=" Plot ",
                               command=self.plot,
                               width=6)
        self.help = ttk.Button(self.frame4,
                               text=" Help ",
                               command=self.helpwindow,
                               width=4)

        # -----------------------------------------------------------------------

        # Frame 4 widgets positions  --------------------------------------------

        self.exit.grid(row=0,
                       column=0,
                       sticky='EW',
                       padx=30,
                       pady=5,
                       ipadx=5,
                       ipady=5)

        self.plot.grid(row=0,
                       column=1,
                       sticky='EW',
                       padx=30,
                       pady=5,
                       ipadx=5,
                       ipady=5)

        self.help.grid(row=0,
                       column=2,
                       sticky='EW',
                       padx=30,
                       pady=5,
                       ipadx=5,
                       ipady=5)