Esempio n. 1
0
# all copies or substantial portions of the Software.
 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

# See also: http://effbot.org/tkinterbook/spinbox.htm
#           http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/spinbox.html

import tkinter as tk

def spinbox_callback():
    print(spinbox.get())

def button_callback():
    print(spinbox.get())

root = tk.Tk()

spinbox = tk.Spinbox(root, from_=0, to=10, increment=0.5, command=spinbox_callback)
spinbox.pack(side=tk.LEFT)

button = tk.Button(root, text="Print", command=button_callback)
button.pack(side=tk.LEFT)

root.mainloop()
Esempio n. 2
0
    def createSipTab(self):
        # Prepare the variables to set/receive values from GUI
        self.cfgPrackUse = tk.IntVar(value=self.cfg.callConfig.prackUse)
        self.cfgTimerUse = tk.IntVar(value=self.cfg.callConfig.timerUse)
        self.cfgTimerExpires = tk.IntVar(
            value=self.cfg.callConfig.timerSessExpiresSec)
        self.cfgPublish = tk.BooleanVar(
            value=self.cfg.presConfig.publishEnabled)
        self.cfgMwiEnabled = tk.BooleanVar(value=self.cfg.mwiConfig.enabled)
        self.cfgEnableContactRewrite = tk.BooleanVar(
            value=self.cfg.natConfig.contactRewriteUse != 0)
        self.cfgEnableViaRewrite = tk.BooleanVar(
            value=self.cfg.natConfig.viaRewriteUse != 0)
        self.cfgEnableSdpRewrite = tk.BooleanVar(
            value=self.cfg.natConfig.sdpNatRewriteUse != 0)
        self.cfgEnableSipOutbound = tk.BooleanVar(
            value=self.cfg.natConfig.sipOutboundUse != 0)
        self.cfgKaInterval = tk.IntVar(
            value=self.cfg.natConfig.udpKaIntervalSec)

        # Build the tab page
        frm = ttk.Frame(self.frm)
        frm.columnconfigure(0, weight=1)
        frm.columnconfigure(1, weight=2)
        row = 0
        ttk.Label(frm, text='100rel/PRACK:').grid(row=row,
                                                  column=0,
                                                  sticky=tk.E,
                                                  pady=2)
        ttk.Radiobutton(frm,
                        text='Only offer PRACK',
                        value=pj.PJSUA_100REL_NOT_USED,
                        variable=self.cfgPrackUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Offer and use if remote supports',
                        value=pj.PJSUA_100REL_OPTIONAL,
                        variable=self.cfgPrackUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Required',
                        value=pj.PJSUA_100REL_MANDATORY,
                        variable=self.cfgPrackUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Label(frm, text='Session Timer:').grid(row=row,
                                                   column=0,
                                                   sticky=tk.E,
                                                   pady=2)
        ttk.Radiobutton(frm,
                        text='Not offered',
                        value=pj.PJSUA_SIP_TIMER_INACTIVE,
                        variable=self.cfgTimerUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Optional',
                        value=pj.PJSUA_SIP_TIMER_OPTIONAL,
                        variable=self.cfgTimerUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Required',
                        value=pj.PJSUA_SIP_TIMER_REQUIRED,
                        variable=self.cfgTimerUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text="Always use",
                        value=pj.PJSUA_SIP_TIMER_ALWAYS,
                        variable=self.cfgTimerUse).grid(row=row,
                                                        column=1,
                                                        sticky=tk.W,
                                                        padx=6)
        row += 1
        ttk.Label(frm, text='Session Timer Expiration:').grid(row=row,
                                                              column=0,
                                                              sticky=tk.E,
                                                              pady=2)
        tk.Spinbox(frm,
                   from_=90,
                   to=7200,
                   textvariable=self.cfgTimerExpires,
                   width=5).grid(row=row, column=1, sticky=tk.W, padx=6)
        ttk.Label(frm, text='(seconds)').grid(row=row, column=1, sticky=tk.E)
        row += 1
        ttk.Label(frm, text='Presence:').grid(row=row,
                                              column=0,
                                              sticky=tk.E,
                                              pady=2)
        ttk.Checkbutton(frm, text='Enable PUBLISH',
                        variable=self.cfgPublish).grid(row=row,
                                                       column=1,
                                                       sticky=tk.W,
                                                       padx=6,
                                                       pady=2)
        row += 1
        ttk.Label(frm, text='Message Waiting Indication:').grid(row=row,
                                                                column=0,
                                                                sticky=tk.E,
                                                                pady=2)
        ttk.Checkbutton(frm, text='Enable MWI',
                        variable=self.cfgMwiEnabled).grid(row=row,
                                                          column=1,
                                                          sticky=tk.W,
                                                          padx=6,
                                                          pady=2)
        row += 1
        ttk.Label(frm, text='NAT Traversal:').grid(row=row,
                                                   column=0,
                                                   sticky=tk.E,
                                                   pady=2)
        ttk.Checkbutton(frm,
                        text='Enable Contact Rewrite',
                        variable=self.cfgEnableContactRewrite).grid(
                            row=row, column=1, sticky=tk.W, padx=6, pady=2)
        row += 1
        ttk.Checkbutton(frm,
                        text='Enable Via Rewrite',
                        variable=self.cfgEnableViaRewrite).grid(row=row,
                                                                column=1,
                                                                sticky=tk.W,
                                                                padx=6,
                                                                pady=2)
        row += 1
        ttk.Checkbutton(frm,
                        text='Enable SDP IP Address Rewrite',
                        variable=self.cfgEnableSdpRewrite).grid(row=row,
                                                                column=1,
                                                                sticky=tk.W,
                                                                padx=6,
                                                                pady=2)
        row += 1
        ttk.Checkbutton(frm,
                        text='Enable SIP Outbound Extension',
                        variable=self.cfgEnableSipOutbound).grid(row=row,
                                                                 column=1,
                                                                 sticky=tk.W,
                                                                 padx=6,
                                                                 pady=2)
        row += 1
        ttk.Label(frm, text='UDP Keep-Alive Interval:').grid(row=row,
                                                             column=0,
                                                             sticky=tk.E,
                                                             pady=2)
        tk.Spinbox(frm,
                   from_=0,
                   to=3600,
                   textvariable=self.cfgKaInterval,
                   width=5).grid(row=row, column=1, sticky=tk.W, padx=6)
        ttk.Label(frm, text='(seconds) Zero to disable.').grid(row=row,
                                                               column=1,
                                                               sticky=tk.E)

        self.wTab.add(frm, text='SIP Features')
Esempio n. 3
0
    def createBasicTab(self):
        # Prepare the variables to set/receive values from GUI
        self.cfgPriority = tk.IntVar(value=self.cfg.priority)
        self.cfgAccId = tk.StringVar(value=self.cfg.idUri)
        self.cfgRegistrar = tk.StringVar(value=self.cfg.regConfig.registrarUri)
        self.cfgRegisterOnAdd = tk.BooleanVar(
            value=self.cfg.regConfig.registerOnAdd)
        self.cfgUsername = tk.StringVar()
        self.cfgPassword = tk.StringVar()
        if len(self.cfg.sipConfig.authCreds):
            self.cfgUsername.set(self.cfg.sipConfig.authCreds[0].username)
            self.cfgPassword.set(self.cfg.sipConfig.authCreds[0].data)
        self.cfgProxy = tk.StringVar()
        if len(self.cfg.sipConfig.proxies):
            self.cfgProxy.set(self.cfg.sipConfig.proxies[0])

        # Build the tab page
        frm = ttk.Frame(self.frm)
        frm.columnconfigure(0, weight=1)
        frm.columnconfigure(1, weight=2)
        row = 0
        ttk.Label(frm, text='Priority:').grid(row=row,
                                              column=0,
                                              sticky=tk.E,
                                              pady=2)
        tk.Spinbox(frm, from_=0, to=9, textvariable=self.cfgPriority,
                   width=2).grid(row=row, column=1, sticky=tk.W, padx=6)
        row += 1
        ttk.Label(frm, text='ID (URI):').grid(row=row,
                                              column=0,
                                              sticky=tk.E,
                                              pady=2)
        ttk.Entry(frm, textvariable=self.cfgAccId, width=32).grid(row=row,
                                                                  column=1,
                                                                  sticky=tk.W,
                                                                  padx=6)
        row += 1
        ttk.Label(frm, text='Registrar URI:').grid(row=row,
                                                   column=0,
                                                   sticky=tk.E,
                                                   pady=2)
        ttk.Entry(frm, textvariable=self.cfgRegistrar,
                  width=32).grid(row=row, column=1, sticky=tk.W, padx=6)
        row += 1
        ttk.Checkbutton(frm,
                        text='Register on add',
                        variable=self.cfgRegisterOnAdd).grid(row=row,
                                                             column=1,
                                                             sticky=tk.W,
                                                             padx=6,
                                                             pady=2)
        row += 1
        ttk.Label(frm, text='Optional proxy URI:').grid(row=row,
                                                        column=0,
                                                        sticky=tk.E,
                                                        pady=2)
        ttk.Entry(frm, textvariable=self.cfgProxy, width=32).grid(row=row,
                                                                  column=1,
                                                                  sticky=tk.W,
                                                                  padx=6)
        row += 1
        ttk.Label(frm, text='Auth username:'******'Password:'******'*',
                  width=16).grid(row=row,
                                 column=1,
                                 sticky=tk.W,
                                 padx=6,
                                 pady=2)

        self.wTab.add(frm, text='Basic Settings')
Esempio n. 4
0
    def create_widgets(self):
        '''Create the tkinter UI'''

        example_supported = (self.ai_props.num_ai_chans > 0
                             and self.ai_props.supports_analog_trig)

        if example_supported:
            main_frame = tk.Frame(self)
            main_frame.pack(fill=tk.X, anchor=tk.NW)

            float_vcmd = self.register(self.validate_float_entry)

            curr_row = 0
            if self.ai_props.num_ai_chans > 1:
                channel_vcmd = self.register(self.validate_channel_entry)

                low_channel_entry_label = tk.Label(main_frame)
                low_channel_entry_label["text"] = "Low Channel Number:"
                low_channel_entry_label.grid(row=curr_row,
                                             column=0,
                                             sticky=tk.W)

                self.low_channel_entry = tk.Spinbox(
                    main_frame,
                    from_=0,
                    to=max(self.ai_props.num_ai_chans - 1, 0),
                    validate='key',
                    validatecommand=(channel_vcmd, '%P'))
                self.low_channel_entry.grid(row=curr_row,
                                            column=1,
                                            sticky=tk.W)

                curr_row += 1
                high_channel_entry_label = tk.Label(main_frame)
                high_channel_entry_label["text"] = "High Channel Number:"
                high_channel_entry_label.grid(row=curr_row,
                                              column=0,
                                              sticky=tk.W)

                self.high_channel_entry = tk.Spinbox(
                    main_frame,
                    from_=0,
                    validate='key',
                    to=max(self.ai_props.num_ai_chans - 1, 0),
                    validatecommand=(channel_vcmd, '%P'))
                self.high_channel_entry.grid(row=curr_row,
                                             column=1,
                                             sticky=tk.W)
                initial_value = min(self.ai_props.num_ai_chans - 1, 3)
                self.high_channel_entry.delete(0, tk.END)
                self.high_channel_entry.insert(0, str(initial_value))

                curr_row += 1

            trigger_type_label = tk.Label(main_frame)
            trigger_type_label["text"] = "Trigger Type:"
            trigger_type_label.grid(row=curr_row, column=0, sticky=tk.W)

            self.trigger_type_combobox = Combobox(main_frame)
            self.trigger_type_combobox["values"] = ["Above", "Below"]
            self.trigger_type_combobox["state"] = "readonly"
            self.trigger_type_combobox.current(0)
            self.trigger_type_combobox.grid(row=curr_row,
                                            column=1,
                                            sticky=tk.W)

            curr_row += 1
            trigger_level_label = tk.Label(main_frame)
            trigger_level_label["text"] = "Trigger Level:"
            trigger_level_label.grid(row=curr_row, column=0, sticky=tk.W)

            self.trigger_level_entry = tk.Entry(main_frame,
                                                validate='key',
                                                validatecommand=(float_vcmd,
                                                                 '%P'))
            self.trigger_level_entry.grid(row=curr_row, column=1, sticky=tk.W)
            self.trigger_level_entry.insert(0, "2")

            self.results_group = tk.LabelFrame(self,
                                               text="Results",
                                               padx=3,
                                               pady=3)
            self.results_group.pack(fill=tk.X, anchor=tk.NW, padx=3, pady=3)

            self.data_frame = tk.Frame(self.results_group)
            self.data_frame.grid()

            curr_row += 1
            warning_label = tk.Label(main_frame,
                                     justify=tk.LEFT,
                                     wraplength=400,
                                     fg="red")
            warning_label["text"] = (
                "Warning: Clicking Start will freeze the UI until the "
                "trigger condition is met and the scan completes. "
                "Real-world applications should run the a_pretrig method "
                "on a separate thread or use the BACKGROUND option.")
            warning_label.grid(row=curr_row, columnspan=2, sticky=tk.W)

            button_frame = tk.Frame(self)
            button_frame.pack(fill=tk.X, side=tk.RIGHT, anchor=tk.SE)

            self.start_button = tk.Button(button_frame)
            self.start_button["text"] = "Start"
            self.start_button["command"] = self.start
            self.start_button.grid(row=0, column=0, padx=3, pady=3)

            quit_button = tk.Button(button_frame)
            quit_button["text"] = "Quit"
            quit_button["command"] = self.master.destroy
            quit_button.grid(row=0, column=1, padx=3, pady=3)
        else:
            self.create_unsupported_widgets(self.board_num)
Esempio n. 5
0
tk.Label(patient3, text="NAME:").grid(row=0, column=0)
tk.Label(patient3, text="TIME:").grid(row=1, column=0)

##
h_p_1 = tk.StringVar()
h_p_1.set("00")
m_p_1 = tk.StringVar()
m_p_1.set("00")
s_p_1 = tk.StringVar()
s_p_1.set("00")
f1 = tk.Frame(patient1)
f1.grid(row=1, column=1)
tk.Spinbox(f1,
           from_=0,
           to=23,
           wrap=True,
           textvariable=h_p_1,
           width=2,
           state="readonly").grid(row=0, column=0)
tk.Spinbox(f1,
           from_=0,
           to=59,
           wrap=True,
           textvariable=m_p_1,
           width=2,
           state="readonly").grid(row=0, column=1)
tk.Spinbox(f1,
           from_=0,
           to=59,
           wrap=True,
           textvariable=s_p_1,
Esempio n. 6
0
    def __init__(self, app_root, *args, **kwargs):
        if window_base_class == tk.Toplevel:
            kwargs.update(bd=0, highlightthickness=0, bg=self.default_bg_color)
            self.app_root = app_root
        else:
            self.app_root = self

        window_base_class.__init__(self, app_root, *args, **kwargs)
        BinillaWidget.__init__(self, *args, **kwargs)

        self.title("Sound compiler")
        self.resizable(1, 1)
        self.update()
        try:
            self.iconbitmap(e_c.MOZZ_ICON_PATH)
        except Exception:
            print("Could not load window icon.")

        self.wav_dir = tk.StringVar(self)
        self.sound_path = tk.StringVar(self)

        self.generate_mouth_data = tk.IntVar(self, 0)
        self.split_into_smaller_chunks = tk.IntVar(self, 1)

        self.compression = tk.IntVar(self, constants.COMPRESSION_PCM_16_LE)
        self.sample_rate = tk.IntVar(self, constants.SAMPLE_RATE_22K)
        self.encoding = tk.IntVar(self, constants.ENCODING_MONO)
        self.update_mode = tk.IntVar(self, constants.SOUND_COMPILE_MODE_PRESERVE)

        self.adpcm_lookahead = tk.IntVar(self, 3)
        self.adpcm_noise_shaping = tk.IntVar(self, adpcm.NOISE_SHAPING_OFF)

        self.chunk_size_string = tk.StringVar(self, str(self.chunk_size))
        self.chunk_size_string.trace(
            "w", lambda *a, s=self: s.set_chunk_size())

        # make the frames
        self.main_frame = tk.Frame(self)
        self.wav_info_frame = tk.LabelFrame(
            self, text="Import info")

        self.dirs_frame = tk.LabelFrame(
            self.main_frame, text="Directories")
        self.buttons_frame = tk.Frame(self.main_frame)
        self.settings_frame = tk.Frame(
            self.main_frame)

        self.wav_dir_frame = tk.LabelFrame(
            self.dirs_frame, text="Wav files folder")
        self.sound_path_frame = tk.LabelFrame(
            self.dirs_frame, text="Sound output path")

        self.update_mode_frame = tk.LabelFrame(
            self.main_frame, text="What to do with existing sound tag")
        self.processing_frame = tk.LabelFrame(
            self.settings_frame, text="Format settings")
        self.adpcm_frame = tk.LabelFrame(
            self.settings_frame, text="ADPCM settings")
        self.misc_frame = tk.LabelFrame(
            self.settings_frame, text="Misc settings")


        self.compile_mode_replace_rbtn = tk.Radiobutton(
            self.update_mode_frame, anchor="w",
            variable=self.update_mode, value=constants.SOUND_COMPILE_MODE_NEW,
            text="Erase everything(create from scratch)")
        self.compile_mode_preserve_rbtn = tk.Radiobutton(
            self.update_mode_frame, anchor="w",
            variable=self.update_mode, value=constants.SOUND_COMPILE_MODE_PRESERVE,
            text="Preserve tag values(skip fractions and such)")
        self.compile_mode_additive_rbtn = tk.Radiobutton(
            self.update_mode_frame, anchor="w",
            variable=self.update_mode, value=constants.SOUND_COMPILE_MODE_ADDITIVE,
            text="Erase nothing(only add/update permutations)")


        self.compression_menu = ScrollMenu(
            self.processing_frame,  variable=self.compression, menu_width=10,
            options=tuple(
                compression_names[const] for const in compression_menu_values
                )
            )
        self.sample_rate_menu = ScrollMenu(
            self.processing_frame, variable=self.sample_rate, menu_width=5,
            options=tuple(
                sample_rate_names[const] for const in sample_rate_menu_values
                )
            )
        self.encoding_menu = ScrollMenu(
            self.processing_frame, variable=self.encoding, menu_width=5,
            options=tuple(
                encoding_names[const] for const in encoding_menu_values
                )
            )

        self.adpcm_lookahead_label = tk.Label(
            self.adpcm_frame, text="Lookahead prediction �")
        self.adpcm_lookahead_menu = ScrollMenu(
            self.adpcm_frame, variable=self.adpcm_lookahead,
            menu_width=17, options=adpcm_lookahead_names
            )
        self.adpcm_noise_shaping_label = tk.Label(
            self.adpcm_frame, text="Noise shaping �")
        self.adpcm_noise_shaping_menu = ScrollMenu(
            self.adpcm_frame, variable=self.adpcm_noise_shaping,
            menu_width=17, options=adpcm_noise_shaping_names
            )
        self.adpcm_lookahead_label.tooltip_string = self.adpcm_lookahead_menu.tooltip_string = (
            "Number of samples to look ahead when determining minimum\n"
            "ADPCM error. Higher numbers are typically better."
            )
        self.adpcm_noise_shaping_label.tooltip_string = self.adpcm_noise_shaping_menu.tooltip_string = (
            "The type of noise shaping algorithm to apply to the sound.\n"
            "Noise shaping is a form of dithering, but for audio.\n"
            "Results will vary, so always test after turning this on."
            )

        self.compression_menu.sel_index = 0
        self.sample_rate_menu.sel_index = 0
        self.encoding_menu.sel_index = 0

        self.generate_mouth_data_cbtn = tk.Checkbutton(
            self.misc_frame, variable=self.generate_mouth_data,
            anchor="w", text="Generate mouth data �")
        self.split_into_smaller_chunks_cbtn = tk.Checkbutton(
            self.misc_frame, variable=self.split_into_smaller_chunks,
            anchor="w", text="Split into chunks �")
        self.chunk_size_label = tk.Label(
            self.misc_frame, text="Chunk size �")
        self.chunk_size_spinbox = tk.Spinbox(
            self.misc_frame, from_=self.min_chunk_size,
            to=self.max_chunk_size, increment=1024*4,
            textvariable=self.chunk_size_string, justify="right")

        self.generate_mouth_data_cbtn.tooltip_string = (
            "Whether or not to generate mouth data for this sound.\n"
            "Mouth data animates a characters mouth to the sound."
            )
        self.split_into_smaller_chunks_cbtn.tooltip_string = (
            "Whether or not to split long sounds into pieces.\n"
            "Long sounds may not play properly ingame, and this\n"
            "setting is recommended if the sound is over a few seconds."
            )
        self.chunk_size_label.tooltip_string = self.chunk_size_spinbox.tooltip_string = (
            'The number of samples per chunk to split long sounds into.\n'
            'NOTE 1:\tThis is for mono. A value of 2 equals 1 stereo sample.\n'
            'NOTE 2:\tThis will be rounded down to a multiple of 64 for ADPCM.'
            )


        self._pr_info_tree = tk.ttk.Treeview(
            self.wav_info_frame, selectmode='browse', padding=(0, 0), height=4)
        self.wav_info_vsb = tk.Scrollbar(
            self.wav_info_frame, orient='vertical',
            command=self._pr_info_tree.yview)
        self.wav_info_hsb = tk.Scrollbar(
            self.wav_info_frame, orient='horizontal',
            command=self._pr_info_tree.xview)
        self._pr_info_tree.config(yscrollcommand=self.wav_info_vsb.set,
                                  xscrollcommand=self.wav_info_hsb.set)

        self.wav_dir_entry = tk.Entry(
            self.wav_dir_frame, textvariable=self.wav_dir, state=tk.DISABLED)
        self.wav_dir_browse_button = tk.Button(
            self.wav_dir_frame, text="Browse", command=self.wav_dir_browse)


        self.sound_path_entry = tk.Entry(
            self.sound_path_frame,
            textvariable=self.sound_path,
            state=tk.DISABLED)
        self.sound_path_browse_button = tk.Button(
            self.sound_path_frame, text="Browse",
            command=self.sound_path_browse)


        self.load_button = tk.Button(
            self.buttons_frame, text="Load wav files",
            command=self.load_wav_files)
        self.compile_button = tk.Button(
            self.buttons_frame, text="Compile sound",
            command=self.compile_sound)

        self.populate_wav_info_tree()

        # pack everything
        self.main_frame.pack(fill="both", side='left', pady=3, padx=3)
        self.wav_info_frame.pack(fill="both", side='left', pady=3, padx=3,
                                 expand=True)

        self.dirs_frame.pack(fill="x")
        self.buttons_frame.pack(fill="x", pady=3, padx=3)
        self.update_mode_frame.pack(fill='both')
        self.settings_frame.pack(fill="both")

        self.wav_dir_frame.pack(fill='x')
        self.sound_path_frame.pack(fill='x')

        self.wav_dir_entry.pack(side='left', fill='x', expand=True)
        self.wav_dir_browse_button.pack(side='left')

        self.sound_path_entry.pack(side='left', fill='x', expand=True)
        self.sound_path_browse_button.pack(side='left')

        self.wav_info_hsb.pack(side="bottom", fill='x')
        self.wav_info_vsb.pack(side="right",  fill='y')
        self._pr_info_tree.pack(side='left', fill='both', expand=True)

        self.load_button.pack(side='left', fill='both', padx=3, expand=True)
        self.compile_button.pack(side='right', fill='both', padx=3, expand=True)

        for w in (self.processing_frame, self.adpcm_frame, self.misc_frame):
            w.pack(expand=True, fill='both')

        for w in (self.compile_mode_replace_rbtn,
                  self.compile_mode_preserve_rbtn,
                  self.compile_mode_additive_rbtn,):
            w.pack(expand=True, fill='both')

        for w in (self.compression_menu,
                  self.sample_rate_menu,
                  self.encoding_menu):
            w.pack(expand=True, side='left', fill='both')

        i = 0
        for w, lbl in (
                (self.adpcm_lookahead_menu, self.adpcm_lookahead_label),
                (self.adpcm_noise_shaping_menu, self.adpcm_noise_shaping_label)
                ):
            lbl.grid(row=i, column=0, sticky="w", padx=(17, 0))
            w.grid(row=i, column=2, sticky="news", padx=(10, 0))
            i += 1


        self.generate_mouth_data_cbtn.grid(
            row=0, column=0, sticky="news", padx=(17, 0))
        self.split_into_smaller_chunks_cbtn.grid(
            row=0, column=1, sticky="news", padx=(17, 0))
        self.chunk_size_label.grid(
            row=1, column=0, sticky="w", padx=(17, 0))
        self.chunk_size_spinbox.grid(
            row=1, column=1, sticky="news", padx=(10, 10))

        self.apply_style()
        if self.app_root is not self:
            self.transient(self.app_root)
function_dropdown=AutocompleteCombobox(window,width=5,textvariable=function_input_var,font=font)
function_dropdown['completevalues']=function_list
function_dropdown.bind('<Key>',function_select)
function_dropdown.bind('<Double-Button-1>',function_select)
function_dropdown.autocomplete(delta=-6)
function_dropdown.current()
function_dropdown.grid(row=7,column=0,sticky='news',padx=5,pady=5,columnspan=3)

save_and_clear_all=HoverButton(window,text='\u21ba',font=font,fg="Black",borderwidth=0,bg='white',command=save_and_clear_input,activebackground=active_button_background,takefocus=0)
save_and_clear_all.grid(row=7,column=3,sticky='news',padx=5,pady=5)

button_Ans=HoverButton(window,text='Ans',font=font,fg="Black",borderwidth=0,bg='white',command=lambda: input_to_input_var('Ans'),activebackground=active_button_background,takefocus=0)
button_Ans.grid(row=7,column=4,sticky='news',padx=5,pady=5)

size_spinbox=tk.Spinbox(window,from_=0,to=100,font=font,fg="Black",bg="white",textvariable=size_var,width=4,command=lambda: resize(1),takefocus=1)
size_spinbox.bind('<Key>',resize)
size_spinbox.grid(row=2,column=4,sticky='news',padx=5,pady=5)

button_pi=HoverButton(window,text='\u03c0',font=font,fg="Black",borderwidth=0,bg='white',command=lambda: input_to_input_var('pi'),activebackground=active_button_background,takefocus=0)
button_pi.grid(row=3,column=4,sticky='news',padx=5,pady=5)

button_e=HoverButton(window,text='e',font=font,fg="Black",borderwidth=0,bg='white',command=lambda: input_to_input_var('e'),activebackground=active_button_background,takefocus=0)
button_e.grid(row=4,column=4,sticky='news',padx=5,pady=5)

button_tau=HoverButton(window,text='\u03c4',font=font,fg="Black",borderwidth=0,bg='white',command=lambda: input_to_input_var('tau'),activebackground=active_button_background,takefocus=0)
button_tau.grid(row=5,column=4,sticky='news',padx=5,pady=5)

button_inf=HoverButton(window,text='\u221e',font=font,fg="Black",borderwidth=0,bg='white',command=lambda: input_to_input_var('inf'),activebackground=active_button_background,takefocus=0)
button_inf.grid(row=6,column=4,sticky='news',padx=5,pady=5)
Esempio n. 8
0
                       othermonthweforeground='gray50',
                       othermonthwebackground='white',
                       weekendbackground='white',
                       weekendforeground='black',
                       headersbackground='white',
                       headersforeground='gray70',
                       anchor="w")
lbl3.grid(column=1, row=2)
end_date.grid(column=2, row=2)
'''Creating grouping of days'''
lbl4 = tk.Label(root,
                text="Group No. Of Days:",
                fg="black",
                anchor="w",
                font="Calibri 12")
spin_box = tk.Spinbox(root, from_=1, to=100, width=5)
lbl4.grid(column=1, row=3)
spin_box.grid(column=2, row=3)
'''Browsing data files for input'''


def ivr_browse_button():
    #filename = filedialog.askdirectory()
    filename = filedialog.askdirectory()
    ivr_file_path.set(filename)


ivr_file_path = tk.StringVar()
lbl8 = tk.Label(root,
                text="IVR File Directory: ",
                fg="black",
 def _create(self, **kwargs):
     return tkinter.Spinbox(self.root, **kwargs)
Esempio n. 10
0
# spinbox component of tkinter
import tkinter

root = tkinter.Tk()

w = tkinter.Spinbox(root, from_=0, to=100, width=10)
w.pack()
x = tkinter.Spinbox(root, values=('Easy', 'Medium', 'Hard'), width=10)
x.pack()
y = tkinter.Spinbox(root, values=(3, 7, 97), width=10)
y.pack()

# Setting u default values
var = tkinter.IntVar()
var.set(69)
z = tkinter.Spinbox(root, from_=0, to=100, width=10, textvariable=var)
z.pack()

root.mainloop()
radioButton1.grid(row=0, column=0, sticky='w')
radioButton2.grid(row=1, column=0, sticky='w')
radioButton3.grid(row=2, column=0, sticky='w')

# Widget to display the results:
resultLabel = tkinter.Label(mainWindow, text="Result")
resultLabel.grid(row=2, column=2, sticky='nw')
result = tkinter.Entry(mainWindow)
result.grid(row=2, column=2, sticky='sw')

# Frame for the time spinners
timeFrame = tkinter.LabelFrame(mainWindow, text="Time")
timeFrame.grid(row=3, column=0, sticky='new')

# Time spinners
hourSpinner = tkinter.Spinbox(timeFrame, width=2, values=tuple(range(
    0, 24)))  # This will count [0, 24);
minuteSpinner = tkinter.Spinbox(timeFrame, width=2, from_=0,
                                to=59)  # This will count [0, 59];
secondSpinner = tkinter.Spinbox(timeFrame, width=2, from_=0, to=59)
hourSpinner.grid(row=0, column=0)
tkinter.Label(timeFrame, text=':').grid(row=0, column=1)
minuteSpinner.grid(row=0, column=2)
tkinter.Label(timeFrame, text=':').grid(row=0, column=3)
secondSpinner.grid(row=0, column=4)
timeFrame[
    'padx'] = 30  # Adding some padding in the x-direction to the time spinners.

# Frame for the date spinners;
dateFrame = tkinter.Frame(mainWindow)
dateFrame.grid(row=4, column=0, sticky='new')
Esempio n. 12
0
    def main(self):
        Frame = ttk.LabelFrame(self, text='Dialogue')
        Frame.pack(expand=1, fill='both')

        # creating the entry boxes
        self.vcmd = (self.register(self.validator), '%P', '%d')
        self.vcmd2 = (self.register(self.validator3), '%P', '%d')
        self.txt1 = tk.Label(Frame, text='Music Id:')
        self.txt1.place(relx=0.01, rely=0.05)
        self.txt2 = tk.Label(Frame, text='Artist Id:')
        self.txt2.place(relx=0.01, rely=0.15)

        self.id1 = tk.Entry(Frame,
                            width=26,
                            state='disabled',
                            validate='key',
                            validatecommand=self.vcmd2)
        self.id1.place(relx=0.15, rely=0.05)

        self.id2 = tk.Entry(Frame,
                            width=26,
                            validate='key',
                            validatecommand=self.vcmd,
                            state='disabled')
        self.id2.place(relx=0.15, rely=0.15)

        # creating the dropdown menu for the metrics
        #tk.Label(Frame, text='Metric:').place(relx=0.58, rely=0.154)
        OPTIONS = ['Cosine', 'Euclidean', 'Jaccard', 'manhattan', 'pearson']
        self.metric = tk.StringVar()
        self.metric.set(OPTIONS[2])  # default value
        option = tk.OptionMenu(Frame, self.metric, *OPTIONS)
        option.configure(width=13)
        option.place(relx=0.59, rely=0.14)

        # creating the radiobuttons for choosing the similarites you want to check, either between music id or artists id or artist and music
        Frame2 = tk.Frame(Frame)
        Frame2.place(relx=0.01, rely=0.25)
        tk.Label(Frame, text='Similarites Between').place(relx=0.01, rely=0.25)
        self.sim_choosen = tk.IntVar()
        similarities_opt = [('Musics', 1), ('Artists', 2),
                            ("Artist & Musics", 3)]
        for similarity, val in similarities_opt:
            tk.Radiobutton(Frame2,
                           text=similarity,
                           variable=self.sim_choosen,
                           command=self.getter,
                           value=val).pack(side='left', pady=20)

        # creating the spinbox that would indicate how many no of similarities do want to see..
        # this would only work if you are trying to only show the n similarity to an artist or music
        tk.Label(Frame, text='N:').place(relx=0.58, rely=0.05)
        self.N = tk.Spinbox(Frame, from_=1, to=100, width=15, state='disabled')
        self.N.place(relx=0.61, rely=0.05)

        # creating the calculate button
        button = tk.Button(Frame,
                           text='Calculate Similarity',
                           width=16,
                           command=lambda: [f() for f in [self.validator2]])
        button.place(relx=0.50, rely=0.30)

        # creating the evalution button
        self.eval_button = tk.Button(Frame,
                                     text='Evaluation',
                                     width=10,
                                     state='disabled',
                                     command=self.evaluate)
        self.eval_button.place(relx=0.80, rely=0.30)

        # progress bar
        self.progress_Bar = ttk.Progressbar(Frame,
                                            orient='horizontal',
                                            length=495,
                                            mode='determinate')
        self.progress_Bar.place(relx=0.00, rely=0.53)
        self.tips = tk.Label(Frame, text='Tips!!')
        self.tips.place(relx=0.45, rely=0.44)

        # result panel
        tk.Label(Frame, text='Results').place(relx=0.01, rely=0.62)
        tk.Label(Frame, text='Similarity Score:').place(relx=0.03, rely=0.72)

        self.Score = tk.Label(Frame, text='')
        self.Score.place(relx=0.25, rely=0.72)

        # creating the text area for displaying results
        Frame2 = tk.Frame(Frame)
        Frame2.place(relx=0.50, rely=0.62)
        h = tk.Scrollbar(Frame2, orient='horizontal')
        h.pack(side='bottom', fill='x')
        v = tk.Scrollbar(Frame2)
        v.pack(side='right', fill='y')
        self.t = tk.Text(Frame2,
                         width=33,
                         height=7.4,
                         xscrollcommand=h.set,
                         yscrollcommand=v.set,
                         state='normal')
        self.t.pack(side='top')
        h.config(command=self.t.xview)
        v.config(command=self.t.yview)
Esempio n. 13
0
tk.OptionMenu(root, sv1, 'オプション1', 'オプション2').grid(row=5,
                                                  column=1,
                                                  padx=10,
                                                  pady=10)

# Listbox 8
tk.Label(root, text="8: Listbox").grid(row=6, sticky="e")
listbox = tk.Listbox(root, height=4)
for line in ["選択肢1", "選択肢2", "選択肢3", "選択肢4", "選択肢5"]:
    listbox.insert(tk.END, line)
listbox.select_set(1)
listbox.grid(row=6, column=1, padx=10, pady=10)

# Spinbox 9
tk.Label(root, text="9: Spinbox").grid(row=0, column=2, sticky="e")
tk.Spinbox(root, values=(2, 4, 10)).grid(row=0, column=3, padx=10, pady=10)

# Scale 10
tk.Label(root, text="10: Scale").grid(row=1, column=2, sticky="e")
tk.Scale(root, from_=10, to=80, label='Scale',
         orient=tk.HORIZONTAL).grid(row=1, column=3, padx=10, pady=10)

# Message 11
tk.Label(root, text="11: Message").grid(row=2, column=2, sticky="e")
tk.Message(root, text="私の名前は中村です").grid(row=2, column=3, padx=10, pady=10)

# Text 12
tk.Label(root, text="12: Text").grid(row=3, column=2, sticky="e")
text = tk.Text(root, width=20, height=6)
text.insert(tk.END, "sample text\n1\n2\n3")
text.grid(row=3, column=3, padx=10, pady=10)
Esempio n. 14
0
def fen_inscription():
    app.destroy()
    global fen3
    fen3 = tkinter.tix.Tk()
    fen3.geometry("340x680")
    fen3.title("Fenetre d'inscription")
    #-------------------------------------------------------------------------------------
    lab3_1 = tkinter.Label(fen3, text="Nom")
    entr3_1 = tkinter.Entry(fen3)

    lab3_2 = tkinter.Label(fen3, text="Prénom")
    entr3_2 = tkinter.Entry(fen3)

    Label_Frame = tkinter.LabelFrame(fen3,
                                     text="Date et lieu de naissance",
                                     width=100,
                                     height=200,
                                     borderwidth=1)
    lab3_3 = tkinter.Label(Label_Frame, text="Jour")
    spin_w_1 = tkinter.Spinbox(Label_Frame, from_=1, to=31, width=10)
    lab3_4 = tkinter.Label(Label_Frame, text="Mois")
    spin_w_2 = tkinter.Spinbox(Label_Frame, from_=1, to=12, width=10)
    lab3_5 = tkinter.Label(Label_Frame, text="Année")
    spin_w_3 = tkinter.Spinbox(Label_Frame, from_=1940, to=2019, width=10)
    lab = tkinter.Label(Label_Frame)
    """     dernier label du cadre Label_Frame : 
            il joue juste un role de séparation entre la bordure 
            inférieur du cadre et l'avant dernier widget
    """

    lab3_6 = tkinter.Label(fen3, text="Numéro de téléphone")
    entr3_3 = tkinter.Entry(fen3)

    lab3_7 = tkinter.Label(fen3, text="Numéro de Carte d'Identité")
    ent3_4 = tkinter.Entry(fen3)

    lab3_8 = tkinter.Label(fen3, text="E-mail")
    ent3_5 = tkinter.Entry(fen3)

    rad3 = tkinter.Radiobutton(fen3, text="Médecin", value=0)
    rad4 = tkinter.Radiobutton(fen3, text="Patient", value=1)

    lab3_9 = tkinter.Label(fen3, text="Specialité")
    varcombo = tkinter.tix.StringVar()
    combo = tkinter.tix.ComboBox(fen3,
                                 editable=1,
                                 dropdown=1,
                                 variable=varcombo)
    combo.entry.config(
        state='readonly')  ## met la zone de texte en lecture seule
    combo.insert(0, 'Généraliste')
    combo.insert(1, 'Cardiologue')
    combo.insert(2, 'Neurologue')
    combo.insert(3, 'Gynécologue')
    combo.insert(4, 'Dentiste')
    combo.insert(5, 'Sages-Femme')
    combo.insert(6, 'Ophtalmologue')
    combo.insert(7, 'Urologue')
    combo.insert(8, 'Dermatologue')
    combo.insert(9, 'Diététicien')
    combo.insert(10, 'Allergologue')
    combo.insert(11, 'Pédiatre')
    combo.insert(12, 'Radiologue')
    combo.insert(13, 'Chirurgien')
    combo.insert(14, 'Ostéopathe')
    combo.insert(15, 'Prothésiste Dentaire')
    combo.insert(16, 'Dentiste-Chirurgien Dentiste')
    combo.insert(17, 'Infirmier-Infirmière')
    combo.insert(18, 'Orthopédiste')
    combo.insert(19, 'Pharmacien')
    combo.insert(20, 'Nutritioniste')
    combo.insert(21, 'Pédopsychiatre')
    combo.insert(22, 'Diabétologue')
    combo.insert(23, 'Oto-Rhino-Laryngologiste')
    combo.insert(24, 'Pneumologue')
    combo.insert(25, 'Phytothérapeute')
    combo.insert(26, 'Kinésithérapeute')
    combo.insert(27, 'Rhumatologue')
    combo.insert(28, 'Vétérinaire')
    combo.insert(29, 'Psychologue')
    combo.insert(30, 'Sophrologue')
    combo.insert(31, 'Etiopathe')
    combo.insert(32, 'Biologiste')
    combo.insert(33, 'Néphrologue')
    combo.insert(34, 'Neuro-Chirurgien')
    combo.insert(35, 'Sexologue')
    combo.insert(36, 'Médecine Physique et Réadaptation')
    combo.insert(37, 'Urgentiste-Urgentologue')
    combo.insert(38, 'Laborantin')

    Label_Frame1 = tkinter.LabelFrame(fen3,
                                      text="Renseignement-Diplome",
                                      width=150,
                                      height=250,
                                      borderwidth=1)
    lab3_10 = tkinter.Label(Label_Frame1, text="Faculté/Ecole")
    ent3_6 = tkinter.Entry(Label_Frame1, width=20)
    lab3_11 = tkinter.Label(Label_Frame1, text="Lieu d'Obtention")
    ent3_7 = tkinter.Entry(Label_Frame1, width=20)
    lab3_12 = tkinter.Label(Label_Frame1, text="Diplome Obtenu")
    # à uploader ...
    lab3_13 = tkinter.Label(Label_Frame1, text="Année d'Obtention")
    spin_w_4 = tkinter.Spinbox(Label_Frame1, from_=1970, to=2019, width=10)
    lab1 = tkinter.Label(Label_Frame1)
    """     dernier label du cadre Label_Frame : 
            il joue juste un role de séparation entre la bordure 
            inférieur du cadre et l'avant dernier widget
    """
    lab3_14 = tkinter.Label(fen3, text="Nombre d'année d'epérience")
    spin_w_5 = tkinter.Spinbox(fen3, from_=0, to=40, width=10)

    btn = tkinter.Button(fen3,
                         text="Enregistrer",
                         command=validation_inscription)
    #-------------------------------------------------------------------------------------
    fen3.grid()
    lab3_1.grid(padx=90, pady=1)
    entr3_1.grid()
    lab3_2.grid()
    entr3_2.grid()
    Label_Frame.grid()
    lab3_3.grid(padx=30, pady=1)
    spin_w_1.grid(padx=30)
    lab3_4.grid(padx=30)
    spin_w_2.grid(padx=30)
    lab3_5.grid(padx=30)
    spin_w_3.grid(padx=30)
    lab.grid()
    lab3_6.grid()
    entr3_3.grid()
    lab3_7.grid()
    ent3_4.grid()
    lab3_8.grid()
    ent3_5.grid()
    rad3.grid()
    rad4.grid()
    lab3_9.grid()
    combo.grid()
    Label_Frame1.grid()
    lab3_10.grid(padx=30, pady=1)
    ent3_6.grid()
    lab3_11.grid()
    ent3_7.grid()
    lab3_12.grid()

    lab3_13.grid()
    spin_w_4.grid()
    lab1.grid()
    lab3_14.grid()
    spin_w_5.grid()

    btn.grid()

    #-------------------------------------------------------------------------------------
    fen3.mainloop()
    def __init__(self, *args, **kwargs):
        super().__init__(self, *args, **kwargs)
        # Create windows object
        app = tk.Tk()

        #variables
        #channelconfig
        ChannelName = tk.StringVar(value='Krogmann')
        OAuthToken = tk.StringVar(value='Press Button to get Token')

        CheckTime = tk.IntVar(value=1)
        #for Follower alert
        Alertwhenfollower = tk.IntVar(value=1)
        FollowerDMXChannel = tk.IntVar(value=1)
        FollowerDMXValue = tk.IntVar(value=255)
        FollowerDMXSeconds = tk.IntVar(value=5)
        FollowerDMXDefault = tk.IntVar(value=0)
        #for Subscriber alert
        AlertwhenSubscriber = tk.IntVar(value=1)
        SubscriberDMXChannel = tk.IntVar(value=1)
        SubscriberDMXValue = tk.IntVar(value=255)
        SubscriberDMXSeconds = tk.IntVar(value=5)
        SubscriberDMXDefault = tk.IntVar(value=0)

        app.title("Chron-O-John's Twitch DMX Alerts")

        canvas = tk.Frame(app, padx=10, pady=10)

        lblUeberschrift = tk.Label(canvas,
                                   text="Twitch DMX Alerts",
                                   font=('bold', 16),
                                   pady=20)

        frmChannelconfig = tk.Frame(canvas)
        lblChannelname = tk.Label(frmChannelconfig, text="Channelname")
        entrChannelname = tk.Entry(frmChannelconfig,
                                   textvariable=ChannelName,
                                   justify='right')
        lblOAuthToken = tk.Label(frmChannelconfig, text="OAuth-Token")
        entrOAuthToken = tk.Entry(frmChannelconfig,
                                  textvariable=OAuthToken,
                                  justify='right')
        btnGetToken = tk.Button(frmChannelconfig,
                                text="Get OAuth-Token",
                                command=self.getOAuthToken)

        lblAlertWhen = tk.Label(canvas, text="Alert:", height=2, anchor='s')

        frmAlerts = tk.Frame(canvas)
        #Follower Line
        frmFollower = tk.Frame(frmAlerts)
        chkFollower = tk.Checkbutton(frmFollower,
                                     text="New Follower to DMX Channel",
                                     width=25,
                                     anchor='w',
                                     variable=Alertwhenfollower)
        spinFollowerChannel = tk.Spinbox(frmFollower,
                                         justify='right',
                                         from_=1,
                                         to=512,
                                         width=3,
                                         textvariable=FollowerDMXChannel)
        lblFollowerDMXValue = tk.Label(frmFollower, text="with value")
        spinFollowerValue = tk.Spinbox(frmFollower,
                                       justify='right',
                                       from_=0,
                                       to=255,
                                       width=3,
                                       textvariable=FollowerDMXValue)
        lblFollowerSeconds = tk.Label(frmFollower, text="for")
        spinFollowerSeconds = tk.Spinbox(frmFollower,
                                         justify='right',
                                         from_=0,
                                         to=300,
                                         width=3,
                                         textvariable=FollowerDMXSeconds)
        lblFollowerDefaultTo = tk.Label(frmFollower,
                                        text="seconds, then default to")
        spinFollowerDefaultTo = tk.Spinbox(frmFollower,
                                           justify='right',
                                           from_=0,
                                           to=255,
                                           width=3,
                                           textvariable=FollowerDMXDefault)

        #subscriber line
        frmSubscriber = tk.Frame(frmAlerts)
        chkSubscriber = tk.Checkbutton(frmSubscriber,
                                       text="New Subscriber to DMX Channel",
                                       width=25,
                                       anchor='w',
                                       variable=AlertwhenSubscriber)
        spinSubscriberChannel = tk.Spinbox(frmSubscriber,
                                           justify='right',
                                           from_=1,
                                           to=512,
                                           width=3,
                                           textvariable=SubscriberDMXChannel)
        lblSubscriberDMXValue = tk.Label(frmSubscriber, text="with value")
        spinSubscriberValue = tk.Spinbox(frmSubscriber,
                                         justify='right',
                                         from_=0,
                                         to=255,
                                         width=3,
                                         textvariable=SubscriberDMXValue)
        lblSubscriberSeconds = tk.Label(frmSubscriber, text="for")
        spinSubscriberSeconds = tk.Spinbox(frmSubscriber,
                                           justify='right',
                                           from_=0,
                                           to=300,
                                           width=3,
                                           textvariable=SubscriberDMXSeconds)
        lblSubscriberDefaultTo = tk.Label(frmSubscriber,
                                          text="seconds, then default to")
        spinSubscriberDefaultTo = tk.Spinbox(frmSubscriber,
                                             justify='right',
                                             from_=0,
                                             to=255,
                                             width=3,
                                             textvariable=SubscriberDMXDefault)

        frmCheckTime = tk.Frame(canvas, pady=5)
        lblChecktime = tk.Label(
            frmCheckTime, text='Check for new Followers/Subscribery every ')
        spinCheckTime = tk.Spinbox(frmCheckTime,
                                   justify='right',
                                   from_=0,
                                   to=60,
                                   width=2,
                                   textvariable=CheckTime)
        lblCheckTimeAfter = tk.Label(frmCheckTime, text=' seconds')

        btnSaveConfig = tk.Button(
            canvas, text="Save all settings")  #toDo: addd Command
        btnDoStuff = tk.Button(canvas, text="Do Stuff", command=self.doStuff)

        #debugwindow
        debugList = tk.Listbox(canvas)

        #pack the stuff
        canvas.pack()

        lblUeberschrift.grid(row=10)

        frmChannelconfig.grid(row=20, sticky='w')
        lblChannelname.pack(side='left')
        entrChannelname.pack(side='left')
        lblOAuthToken.pack(side='left')
        entrOAuthToken.pack(side='left')
        btnGetToken.pack(side='left')

        lblAlertWhen.grid(row=30, sticky='w')

        frmAlerts.grid(row=40, sticky='w')
        #follower Line
        frmFollower.grid(row=0)
        chkFollower.pack(side='left')
        spinFollowerChannel.pack(side='left')
        lblFollowerDMXValue.pack(side='left')
        spinFollowerValue.pack(side='left')
        lblFollowerSeconds.pack(side='left')
        spinFollowerSeconds.pack(side='left')
        lblFollowerDefaultTo.pack(side='left')
        spinFollowerDefaultTo.pack(side='left')
        #subscriber Line
        frmSubscriber.grid(row=1)
        chkSubscriber.pack(side='left')
        spinSubscriberChannel.pack(side='left')
        lblSubscriberDMXValue.pack(side='left')
        spinSubscriberValue.pack(side='left')
        lblSubscriberSeconds.pack(side='left')
        spinSubscriberSeconds.pack(side='left')
        lblSubscriberDefaultTo.pack(side='left')
        spinSubscriberDefaultTo.pack(side='left')

        #checktime
        frmCheckTime.grid(row=50, column=0, sticky='w')
        lblChecktime.pack(side='left')
        spinCheckTime.pack(side='left')
        lblCheckTimeAfter.pack(side='left')

        btnSaveConfig.grid(row=60, column=0, sticky='w')
        btnDoStuff.grid(row=61, column=0, sticky='w')

        #debugtext
        debugList.grid(row=90, sticky=('n', 's', 'e', 'w'))
Esempio n. 16
0
    def display_side_panel(self):
        side_panel = tk.Frame(self.root)
        side_panel.pack(side=tk.LEFT, padx=20, pady=20)

        # Error Frame
        self.error_frame = tk.Frame(side_panel)
        self.error_frame.pack(fill=tk.X, pady=10)

        # Algorithms Frame
        algorithms_frame = tk.Frame(side_panel)
        algorithms_frame.pack(fill=tk.X, pady=10)

        self.create_heading(algorithms_frame, "Algorithms").pack()
        self.create_button(algorithms_frame, "Exploration", lambda: self.execute_thread(self.exploration)) \
            .pack(fill=tk.X)
        self.create_button(algorithms_frame, "Fastest Path", lambda: self.execute_thread(self.fastest_path)) \
            .pack(fill=tk.X)

        self.create_button(algorithms_frame, "Stop", lambda: self.stop()) \
            .pack(fill=tk.X)
        self.create_button(algorithms_frame, "Reset", lambda: self.execute_thread(self.reset)) \
            .pack(fill=tk.X)

        # Map Select Frame
        map_select_frame = tk.Frame(side_panel)
        map_select_frame.pack(fill=tk.X, pady=10)

        self.create_heading(map_select_frame, "Select Map").pack(fill=tk.X)

        map_option_strs = list(SimulatorGUI.MAP_OPTIONS.keys())
        self.selected_map_str = tk.StringVar()
        self.selected_map_str.set(map_option_strs[0])
        tk.OptionMenu(map_select_frame, self.selected_map_str,
                      *map_option_strs).pack()

        tk.Label(
            map_select_frame,
            text="If custom, please specify MDF strings (separated by a comma)"
        ).pack()
        self.mdf_input = tk.Entry(map_select_frame)
        self.mdf_input.pack(fill=tk.X)

        self.create_button(map_select_frame, "Load Map", lambda: self.execute_thread(self.load_map))\
            .pack(fill=tk.X)

        # Exploration Frame
        exploration_frame = tk.Frame(side_panel)
        exploration_frame.pack(fill=tk.X, pady=10)

        self.create_heading(exploration_frame, "Exploration").pack(fill=tk.X)

        self.with_image_rec = tk.IntVar()
        tk.Checkbutton(exploration_frame,
                       text="Use Image Recognition Algorithm",
                       variable=self.with_image_rec).pack()

        self.exploration_coverage = tk.StringVar()
        self.exploration_coverage.set("Coverage: 0%")
        tk.Label(exploration_frame,
                 textvariable=self.exploration_coverage).pack()

        self.exploration_time = tk.StringVar()
        self.exploration_time.set("Time: 00:00")
        tk.Label(exploration_frame, textvariable=self.exploration_time).pack()

        tk.Label(exploration_frame, text="Coverage Limit").pack()
        self.coverage_limit_input = tk.IntVar()
        self.coverage_limit_input.set(360)
        tk.Spinbox(exploration_frame,
                   from_=0,
                   to=100,
                   text=self.coverage_limit_input).pack(fill=tk.X)

        tk.Label(exploration_frame, text="Time Limit").pack()
        self.time_limit_input = tk.IntVar()
        self.time_limit_input.set(360)
        tk.Spinbox(exploration_frame,
                   from_=0,
                   to=360,
                   textvariable=self.time_limit_input).pack(fill=tk.X)

        # Waypoint Frame
        waypoint_frame = tk.Frame(side_panel)
        waypoint_frame.pack(fill=tk.X, pady=10)

        self.create_heading(waypoint_frame, "Waypoint").pack()

        self.has_waypoint_input = tk.IntVar()
        tk.Checkbutton(waypoint_frame,
                       text="Use waypoint",
                       variable=self.has_waypoint_input).pack()

        tk.Label(waypoint_frame, text="X").pack(side=tk.LEFT)
        self.waypoint_x_input = tk.IntVar()
        self.waypoint_x_input.set(GOAL_POS[0])
        tk.Spinbox(waypoint_frame, from_=0, to=NUM_COLS - 1, textvariable=self.waypoint_x_input)\
            .pack(fill=tk.X, side=tk.LEFT)

        tk.Label(waypoint_frame, text="Y").pack(side=tk.LEFT)
        self.waypoint_y_input = tk.IntVar()
        self.waypoint_y_input.set(GOAL_POS[1])
        tk.Spinbox(waypoint_frame, from_=0, to=NUM_ROWS - 1, textvariable=self.waypoint_y_input)\
            .pack(fill=tk.X, side=tk.LEFT)

        # Speed Setting
        speed_frame = tk.Frame(side_panel)
        speed_frame.pack(fill=tk.X, pady=10)

        self.create_heading(speed_frame,
                            "Robot Speed (Moves Per Second)").pack(fill=tk.X)

        self.robot_speed = tk.IntVar()
        self.robot_speed.set(5)
        tk.Spinbox(speed_frame, from_=SimulatorGUI.MIN_SPEED, to=SimulatorGUI.MAX_SPEED, textvariable=self.robot_speed)\
            .pack(fill=tk.X)
        self.create_button(speed_frame, "Update Speed",
                           self.update_speed).pack(fill=tk.X)
Esempio n. 17
0
    app,
    textvariable=boxvalue1,
    values=["-Select-", "Muscat", "Mumbai", "Delhi", 'Bangalore'])
combobox1.current(0)
combobox1.grid(column=6, row=2)

#GUI--Adults--Children
adult = IntVar()
children = IntVar()
rawa = 0
rawc = 0
labelhead = Label(app, text='Passengers', background='pink')
labelhead.grid(column=4, row=3)
label2 = Label(app, text='Adults', background='pink')
label2.grid(column=2, row=4)
adult = tk.Spinbox(app, from_=0, to=5, increment=1)
adult.grid(column=2, row=5)
label3 = Label(app, text='Children', background='pink')
label3.grid(column=6, row=4)
children = tk.Spinbox(app, from_=0, to=5, increment=1)
children.grid(column=6, row=5)

#GUI -- trip
var = IntVar()
var1 = IntVar()
selection = ''
selection1 = ''


def sel1():
    global selection
Esempio n. 18
0
    def createWidgets(self):

        top = self.winfo_toplevel()
        top.rowconfigure(0, weight=1)
        top.columnconfigure(0, weight=1)

        self.rowconfigure(0, weight=1)
        self.columnconfigure(0, weight=1)

        self.frameMain = ttk.Frame(self)
        self.frameMain.grid(sticky=tk.N + tk.S + tk.E + tk.W)

        self.frameMain.columnconfigure(0, weight=1)
        self.frameMain.rowconfigure(0, weight=1)
        self.frameMain.rowconfigure(1, pad=15)

        self.frameTop = ttk.Frame(self.frameMain, padding=5)
        self.frameTop.grid(column=0, row=0, sticky=tk.N + tk.S + tk.E + tk.W)

        self.frameTop.columnconfigure(1, weight=1)
        self.frameTop.rowconfigure(3, weight=1)

        self.labelSourceFolder = ttk.Label(self.frameTop,
                                           text="Source Folder:")
        self.labelSourceFolder.grid(column=0, row=0, sticky=tk.W, pady=2)
        self.entrySourceFolder = ttk.Entry(self.frameTop,
                                           textvariable=self.sourceFolderValue)
        self.entrySourceFolder.grid(column=1,
                                    row=0,
                                    sticky=tk.E + tk.W,
                                    pady=2)
        self.buttonSourceFolder = ttk.Button(
            self.frameTop,
            text="...",
            width="3",
            command=self.eventSourceFolderClicked)
        self.buttonSourceFolder.grid(column=2, row=0, pady=2)

        self.labelReadyFolder = ttk.Label(self.frameTop, text="Ready Folder:")
        self.labelReadyFolder.grid(column=0, row=1, sticky=tk.W, pady=2)
        self.entryReadyFolder = ttk.Entry(self.frameTop,
                                          textvariable=self.readyFolderValue)
        self.entryReadyFolder.grid(column=1, row=1, sticky=tk.E + tk.W, pady=2)
        self.buttonReadyFolder = ttk.Button(
            self.frameTop,
            text="...",
            width="3",
            command=self.eventReadyFolderClicked)
        self.buttonReadyFolder.grid(column=2, row=1, pady=2)

        self.labelDesiredSize = ttk.Label(self.frameTop, text="Desired Size:")
        self.labelDesiredSize.grid(column=0, row=2, sticky=tk.W, pady=2)
        self.spinboxDesiredSize = tk.Spinbox(
            self.frameTop,
            textvariable=self.desiredSizeValue,
            from_=PICTURE_SIZE_MIN,
            to=PICTURE_SIZE_MAX,
            width=6)
        self.spinboxDesiredSize.grid(column=1, row=2, sticky=tk.W, pady=2)

        self.frameSeparator = ttk.Frame(self.frameMain, padding=5)
        self.frameSeparator.grid(column=0,
                                 row=2,
                                 sticky=tk.N + tk.S + tk.E + tk.W)

        self.frameSeparator.columnconfigure(0, weight=1)

        self.separatorBottom = ttk.Separator(self.frameSeparator,
                                             orient=tk.HORIZONTAL)
        self.separatorBottom.grid(column=0, row=0, sticky=tk.W + tk.E)

        self.frameBotom = ttk.Frame(self.frameMain, padding=5)
        self.frameBotom.grid(column=0, row=3, sticky=tk.N + tk.S + tk.E + tk.W)

        self.frameBotom.columnconfigure(0, weight=1)

        self.buttonProceed = ttk.Button(self.frameBotom,
                                        text='Proceed',
                                        command=self.eventProceedClicked)
        self.buttonProceed.grid(column=0, row=0, sticky=tk.E)
        self.buttonClose = ttk.Button(self.frameBotom,
                                      text='Close',
                                      command=self.quit)
        self.buttonClose.grid(column=1, row=0, sticky=tk.E)

        self.frameProgress = ttk.Frame(self.frameMain, padding=3)
        self.frameProgress.grid(column=0,
                                row=4,
                                sticky=tk.N + tk.S + tk.E + tk.W)

        self.frameProgress.columnconfigure(0, weight=1)

        self.labelProgress = ttk.Label(self.frameProgress,
                                       borderwidth=1,
                                       relief=tk.SUNKEN,
                                       textvariable=self.processValue)
        self.labelProgress.grid(column=0, row=0, sticky=tk.E + tk.W)

        self.update()
    def __init__(self):

        #**** Variables ******************************************************************************************************************************************
        self.root = tk.Tk()

        #Colour Storage
        self.LIGHT_BLUE = "#CAF0F4"
        self.BLUE = "#7DC6CD"
        self.DARK_BLUE = "#415EAE"
        self.BEIGE = "#FFEBC0"
        self.LIGHT_BEIGE = "#FFF4DD"
        self.BLACK = "#08090A"
        self.LIGHT_GRAY = "#44444A"
        self.GRAY = "#383838"
        self.DARK_GRAY = "#212121"
        self.PURPLE = "#86229E"
        self.DARK_PURPLE = "#3C0F47"
        self.ORANGE = "#D66D10"
        self.DARK_ORANGE = "#613107"

        #GUI Visual Settings and Layout Config
        self.titleFont = tkFont.Font(family="Times",
                                     size=22,
                                     weight="bold",
                                     underline=0)
        self.guiLblFont = tkFont.Font(family="Helvitica",
                                      size=13,
                                      weight="normal")
        self.guiFrameFont = tkFont.Font(family="Helvitica",
                                        size=13,
                                        weight="bold")
        self.guiOutTxtFont = tkFont.Font(family="Helvitica",
                                         size=13,
                                         weight="normal")
        self.bttnFont = tkFont.Font(family="Helvitica", size=17, weight="bold")

        #Program Information
        self.title = "STORY GENERATOR"
        self.version = "1.0"
        self.DEVELOPER = "William Trojniak"
        self.YEAR = "2018"
        self.windowTitle = self.title + " V." + self.version + " ~" + self.DEVELOPER + " " + self.YEAR

        #Initial Colour Scheme
        self.frameBgrndClr = self.BLUE
        self.lblBgrndClr = self.BLUE
        self.entrBgrndClr = self.LIGHT_BLUE
        self.windowBgrndClr = self.LIGHT_BEIGE
        self.titleBgrndClr = self.BEIGE
        self.titleFntClr = self.DARK_BLUE
        self.lblFntClr = self.BLACK
        self.entrFntClr = self.BLACK
        self.entrTempFntClr = self.LIGHT_GRAY

        #Widget Padding
        self.framePadY = 1
        self.framePadX = 5
        self.entrPadX = 1
        self.entrPadY = 1
        self.frameExtPadX = 10
        self.frameExtPadY = 5
        self.bttnPadX = 10
        self.bttnPadY = 5
        self.titlePadY = 10
        self.oMenuPadX = 1
        self.oMenuPadY = 1

        #Output textbox dimensions
        self.outTxtH = 25
        self.outTxtW = 70

        #Spin box sizes
        self.fontSpBxWidth = 3
        self.trialCntSpBxWidth = 5

        #OMenuSize
        self.oMenuWidth = 20

        #Widget Storage Variables
        self.frameLs = []
        self.entryLs = []
        self.labelLs = []
        self.spBxLs = []
        self.oMenuLs = []
        self.cBttnLs = []
        self.rBttnLs = []
        self.bttnLs = []
        self.txtLs = []
        self.dynamicTrialEntries = [[]]

        #Widget Value Variables
        self.enableHighContrast = tk.IntVar()
        self.maxFontSize = 16
        self.minFontSize = 13
        self.genre = tk.StringVar()
        self.genre.set("Select Option")
        self.genreOptions = ["Action", "Fantasy"]
        self.heroGender = tk.StringVar()
        self.maxTrials = 3
        self.minTrials = 1

        #Saved stories
        self.SAVEDSTORIESDOC = "savedStories.txt"
        f = open(self.SAVEDSTORIESDOC, "a+")
        f.close()
        f = open(self.SAVEDSTORIESDOC, "r")
        self.savedStories = f.read().splitlines()
        f.close()
        #print(self.savedStories)
        self.savedStoryCntr = len(self.savedStories)

        #Text to speech
        self.txtToSpeechRead = 1  #1 = Labels, -1 = Generated Story
        self.txtToSpeechSntnce = "Welcome to Story Generator. This program was developed by William Trojniak. The text to speech button switches between reading the labels and the generated story. Story Generator. Story Settings. Select Genre. Starting Place. Hero's Characteristics. Hero's Name. Hero's gender. Hero's strengths. Mentor's Characteristics. Mentor's Name. Mentor's gift. Trials Information. Number of trials. Trial Location. Trial. Final Challenge Information. Final Challenge Location. Final Challenge. End Story. Method of getting home. Result of story. Generate Story. Save"

        #***String Storage For Story Generation*******************************************************************************************************************
        #General
        self.mntrTrialIntroSntnce = [
            "\"The road ahead will be dangerous, no doubt,\" said ",
            "\" You will face many dangers before this though,\" said "
        ]
        self.mntrFirstTrialDescriptionSntnce = [
            "\"You will first have to go to ",
            "\"The first place to which you must journey is to "
        ]
        self.mntr23TrialDescriptionSntnce = [
            "\"You must then journey to ",
            "\"The next place that you must journey to is to "
        ]
        self.heroDestinySntnce = [
            " where you must ", " where you will ",
            " where it is destined that you "
        ]
        self.heroReluctanceSntnce = [
            "\"I accept the tasks that you have laid before me, even if it is with some reluctance,\" responded, ",
            "\"Though I do not like to think of the troubles ahead, I accept your tasks,\" replied "
        ]
        self.mntrFChllngeIntroSntnce = [
            "\"Only then, after you have proven worth, will you travel to ",
            "\"With this, you are to travel to "
        ]
        self.mntrGiftGivingSntnce = [
            "\"It is as I had hoped. Then I give to you ",
            "\"Very well, then I give to you "
        ]
        self.mntrGiftAidSntnce = [
            ". May it serve you well on your journey.\" ",
            ". It will come in use yet.\" "
        ]
        self.heroDepartSntnce = [
            "So our hero left ", "And so our hero departed from "
        ]

        #Fantasy
        self.fntsyStrtSntnce = [
            "Once upon a time, in a place known as", "Some time ago, in"
        ]
        self.fntsyHeroIntroSntnce = [
            "there was an elf by the name of",
            "there was a dwarf by the name of",
            "there was a knight by the name of"
        ]
        self.fntsyMentorIntroSntnce = [
            "On a peculiar night, when the stars aligned just so,",
            "On a certain morn"
        ]
        #Action
        self.actnStrtSntnce = [
            " There once was a place known as", "Once, in the land known as"
        ]
        self.actnHeroIntroSntnce = [
            "there was a warrior by the name of",
            "there was an adventurer by the name of",
            "there was a spy by the name of"
        ]
        self.actnMentorIntroSntnce = [
            "One morning, ", "Walking in the streets one day,"
        ]

        #**** Window 1 time Configuration ******************************************************************************************************************************************

        self.root.title(self.windowTitle)

        #**** Widgets ******************************************************************************************************************************************

        #Title
        self.titleLabel = tk.Label(self.root)
        self.titleLabel.grid(row=0,
                             column=0,
                             columnspan=3,
                             sticky="NESW",
                             pady=self.titlePadY)

        #Story Settings Frame
        self.storyFrame = tk.LabelFrame(self.root, text="Story Settings")
        self.genreLbl = tk.Label(self.storyFrame, text="Select Genre")
        self.strtPlaceLbl = tk.Label(self.storyFrame, text="Starting Place")
        self.genreOMenu = tk.OptionMenu(self.storyFrame, self.genre,
                                        self.genreOptions[0],
                                        self.genreOptions[1])
        self.strtPlaceEntr = tk.Entry(self.storyFrame)
        #************ PACKING WIDGETS *****************************************#
        self.storyFrame.grid(row=1,
                             column=0,
                             padx=self.frameExtPadX,
                             pady=self.frameExtPadY)
        self.genreLbl.grid(row=0, column=0)
        self.strtPlaceLbl.grid(row=0, column=1)
        self.genreOMenu.grid(row=1,
                             column=0,
                             padx=self.oMenuPadX,
                             pady=self.oMenuPadY)
        self.strtPlaceEntr.grid(row=1,
                                column=1,
                                padx=self.entrPadX,
                                pady=self.entrPadY)

        #Hero's Characteristics Frame
        self.heroFrame = tk.LabelFrame(self.root,
                                       text="Hero's Characteristics")
        self.heroNmLbl = tk.Label(self.heroFrame, text="Hero's Name")
        self.heroNmEntr = tk.Entry(self.heroFrame)
        self.heroGenderLbl = tk.Label(self.heroFrame, text="Hero's Gender")
        self.heroStrngthLbl = tk.Label(self.heroFrame, text="Hero's Strengths")
        self.heroGenderMRBttn = tk.Radiobutton(self.heroFrame,
                                               text="Male",
                                               variable=self.heroGender,
                                               value="male")
        self.heroGenderFRBttn = tk.Radiobutton(self.heroFrame,
                                               text="Female",
                                               variable=self.heroGender,
                                               value="female")
        self.heroStrngthEntr1 = tk.Entry(self.heroFrame)
        self.heroStrngthEntr2 = tk.Entry(self.heroFrame)
        self.heroStrngthEntr3 = tk.Entry(self.heroFrame)
        #************ PACKING WIDGETS *****************************************#
        self.heroFrame.grid(row=2,
                            column=0,
                            padx=self.frameExtPadX,
                            pady=self.frameExtPadY)
        self.heroNmLbl.grid(row=0, column=0, columnspan=2)
        self.heroNmEntr.grid(row=1,
                             column=0,
                             columnspan=2,
                             padx=self.entrPadX,
                             pady=self.entrPadY)
        self.heroGenderLbl.grid(row=2, column=0, columnspan=2)
        self.heroStrngthLbl.grid(row=0, column=2, columnspan=2)
        self.heroGenderMRBttn.grid(row=3, column=0)
        self.heroGenderFRBttn.grid(row=3, column=1)
        self.heroStrngthEntr1.grid(row=1,
                                   column=2,
                                   padx=self.entrPadX,
                                   pady=self.entrPadY)
        self.heroStrngthEntr2.grid(row=2,
                                   column=2,
                                   padx=self.entrPadX,
                                   pady=self.entrPadY)
        self.heroStrngthEntr3.grid(row=3,
                                   column=2,
                                   padx=self.entrPadX,
                                   pady=self.entrPadY)

        #Mentor's Characteristics Frame
        self.mntrFrame = tk.LabelFrame(self.root,
                                       text="Mentor's Characteristics")
        self.mntrNmLbl = tk.Label(self.mntrFrame, text="Mentor's Name")
        self.mntrNmEntr = tk.Entry(self.mntrFrame)
        self.mntrGftLbl = tk.Label(self.mntrFrame, text="Mentor's Gift")
        self.mntrGftEntr = tk.Entry(self.mntrFrame)
        #************ PACKING WIDGETS *****************************************#
        self.mntrFrame.grid(row=3,
                            column=0,
                            padx=self.frameExtPadX,
                            pady=self.frameExtPadY)
        self.mntrNmLbl.grid(row=0, column=0)
        self.mntrNmEntr.grid(row=1,
                             column=0,
                             padx=self.entrPadX,
                             pady=self.entrPadY)
        self.mntrGftLbl.grid(row=0, column=1)
        self.mntrGftEntr.grid(row=1,
                              column=1,
                              padx=self.entrPadX,
                              pady=self.entrPadY)

        #Trials Information
        self.trialFrame = tk.LabelFrame(self.root, text="Trials Information")
        self.trialCntLbl = tk.Label(self.trialFrame, text="Number of Trials")
        self.trialCntSpBx = tk.Spinbox(self.trialFrame,
                                       width=self.trialCntSpBxWidth,
                                       command=self.trialsUpdated,
                                       from_=self.minTrials,
                                       to=self.maxTrials)
        self.trialLocLbl = tk.Label(self.trialFrame, text="Location of Trial")
        self.trialLocEntr = tk.Entry(self.trialFrame)
        self.trialNmLbl = tk.Label(self.trialFrame, text="Trial")
        self.trialNmEntr = tk.Entry(self.trialFrame)
        self.dynamicTrialEntries[0].append(self.trialLocEntr)
        self.dynamicTrialEntries[0].append(self.trialNmEntr)
        #************ PACKING WIDGETS *****************************************#
        self.trialFrame.grid(row=4,
                             column=0,
                             padx=self.frameExtPadX,
                             pady=self.frameExtPadY)
        self.trialCntLbl.grid(row=0, column=1, columnspan=2)
        self.trialCntSpBx.grid(row=1,
                               column=1,
                               columnspan=2,
                               padx=self.entrPadX,
                               pady=self.entrPadY)
        self.trialLocLbl.grid(row=2, column=0, columnspan=2)
        self.trialLocEntr.grid(row=3,
                               column=0,
                               columnspan=2,
                               padx=self.entrPadX,
                               pady=self.entrPadY)
        self.trialNmLbl.grid(row=2, column=2, columnspan=2)
        self.trialNmEntr.grid(row=3,
                              column=2,
                              columnspan=3,
                              padx=self.entrPadX,
                              pady=self.entrPadY)

        #Final Challenge Information
        self.fChllngeFrame = tk.LabelFrame(self.root,
                                           text="Final Challenge Information")
        self.fChllngeLocLbl = tk.Label(self.fChllngeFrame,
                                       text="Location of Final Challenge")
        self.fChllngeLocEntr = tk.Entry(self.fChllngeFrame)
        self.fChllngeNmLbl = tk.Label(self.fChllngeFrame,
                                      text="Final Challenge")
        self.fChllngeNmEntr = tk.Entry(self.fChllngeFrame)
        #************ PACKING WIDGETS *****************************************#
        self.fChllngeFrame.grid(row=5,
                                column=0,
                                padx=self.frameExtPadX,
                                pady=self.frameExtPadY)
        self.fChllngeLocLbl.grid(row=0, column=0)
        self.fChllngeLocEntr.grid(row=1,
                                  column=0,
                                  padx=self.entrPadX,
                                  pady=self.entrPadY)
        self.fChllngeNmLbl.grid(row=0, column=1)
        self.fChllngeNmEntr.grid(row=1,
                                 column=1,
                                 padx=self.entrPadX,
                                 pady=self.entrPadY)

        #End Stage Information
        self.endFrame = tk.LabelFrame(self.root, text="End Story")
        self.trnsprtHmLbl = tk.Label(self.endFrame,
                                     text="Method of Getting Home")
        self.trnsprtHmEntr = tk.Entry(self.endFrame)
        self.rsltLbl = tk.Label(self.endFrame, text="Result of Story")
        self.rsltEntr = tk.Entry(self.endFrame)
        #************ PACKING WIDGETS *****************************************#
        self.endFrame.grid(row=6,
                           column=0,
                           padx=self.frameExtPadX,
                           pady=self.frameExtPadY)
        self.trnsprtHmLbl.grid(row=0, column=0)
        self.trnsprtHmEntr.grid(row=1,
                                column=0,
                                padx=self.entrPadX,
                                pady=self.entrPadY)
        self.rsltLbl.grid(row=0, column=1)
        self.rsltEntr.grid(row=1,
                           column=1,
                           padx=self.entrPadX,
                           pady=self.entrPadY)

        #Accessibility Frame
        self.accFrame = tk.LabelFrame(self.root, text="Accessibility")
        self.hCLbl = tk.Label(self.accFrame, text="High Contrast")
        self.hCCBox = tk.Checkbutton(self.accFrame,
                                     text="ON/OFF",
                                     variable=self.enableHighContrast,
                                     command=self.changeHighContrast)
        self.fntSizeLbl = tk.Label(self.accFrame, text="Font Size")
        self.fntSizeSpBx = tk.Spinbox(self.accFrame,
                                      command=self.fontSizeUpdated,
                                      from_=self.minFontSize,
                                      to=self.maxFontSize,
                                      width=self.fontSpBxWidth)
        self.playTxtToSpchBttn = tk.Button(self.accFrame,
                                           text="Play Text to Speech",
                                           font=self.guiLblFont,
                                           command=self.handleTextToSpeech)
        #************ PACKING WIDGETS *****************************************#
        self.accFrame.grid(row=1,
                           column=2,
                           padx=self.frameExtPadX,
                           pady=self.frameExtPadY,
                           sticky="E")
        self.hCLbl.grid(row=0, column=0)
        self.hCCBox.grid(row=1, column=0)
        self.fntSizeLbl.grid(row=0, column=1)
        self.fntSizeSpBx.grid(row=1, column=1)
        self.playTxtToSpchBttn.grid(row=2, column=0, columnspan=2)

        #Buttons and Output Text Frame
        self.outFrame = tk.LabelFrame(self.root)
        self.genStoryBttn = tk.Button(self.outFrame,
                                      text="Generate Story",
                                      command=self.genStory)
        self.txtScroll = tk.Scrollbar(self.outFrame)
        self.outTxt = tk.Text(self.outFrame,
                              height=self.outTxtH,
                              width=self.outTxtW,
                              yscrollcommand=self.txtScroll.set)
        self.saveBttn = tk.Button(self.outFrame,
                                  text="Save",
                                  command=self.saveStory)
        self.txtScroll.config(command=self.outTxt.yview)
        self.savedStoryScroll = tk.Scrollbar(self.outFrame)
        self.savedStoryLsBox = tk.Listbox(
            self.outFrame, height=3, yscrollcommand=self.savedStoryScroll.set)
        self.savedStoryScroll.config(command=self.savedStoryLsBox.yview)
        self.savedStoryLsBox.bind("<Double-Button-1>", self.loadStory)
        #************ PACKING WIDGETS *****************************************#
        self.outFrame.grid(row=2,
                           column=1,
                           rowspan=5,
                           columnspan=2,
                           padx=self.frameExtPadX,
                           pady=self.frameExtPadY)
        self.genStoryBttn.grid(row=0,
                               column=0,
                               columnspan=3,
                               padx=self.bttnPadX,
                               pady=self.bttnPadY)
        self.outTxt.grid(row=1, column=0, columnspan=3)
        self.saveBttn.grid(row=2,
                           column=0,
                           padx=self.bttnPadX,
                           pady=self.bttnPadY)
        self.txtScroll.grid(row=1, column=3, sticky="NS")
        self.savedStoryLsBox.grid(row=2,
                                  column=1,
                                  pady=5,
                                  padx=self.entrPadX,
                                  sticky="NES")
        self.savedStoryScroll.grid(row=2, column=2, sticky="NWS", pady=5)

        for i in range(
                len(self.savedStories)
        ):  #Inserts previously saved stories into the listbox upon launch
            self.savedStoryLsBox.insert(tk.END, self.savedStories[i])

        #Storing Widgets by Types in Lists for Configuration
        self.frameLs.extend([
            self.storyFrame, self.heroFrame, self.mntrFrame, self.trialFrame,
            self.fChllngeFrame, self.endFrame, self.outFrame, self.accFrame
        ])
        self.labelLs.extend([
            self.genreLbl, self.strtPlaceLbl, self.heroNmLbl,
            self.heroStrngthLbl, self.heroGenderLbl, self.mntrNmLbl,
            self.mntrGftLbl, self.trialCntLbl, self.trialLocLbl,
            self.trialNmLbl, self.fChllngeLocLbl, self.fChllngeNmLbl,
            self.trnsprtHmLbl, self.rsltLbl, self.hCLbl, self.fntSizeLbl
        ])
        self.entryLs.extend([
            self.strtPlaceEntr, self.heroNmEntr, self.heroStrngthEntr1,
            self.heroStrngthEntr2, self.heroStrngthEntr3, self.mntrNmEntr,
            self.mntrGftEntr, self.fChllngeLocEntr, self.fChllngeNmEntr,
            self.trnsprtHmEntr, self.rsltEntr
        ])
        self.oMenuLs.extend([self.genreOMenu])
        self.cBttnLs.extend([self.hCCBox])
        self.rBttnLs.extend([self.heroGenderMRBttn, self.heroGenderFRBttn])
        self.spBxLs.extend([self.trialCntSpBx, self.fntSizeSpBx])
        self.bttnLs.extend([
            self.genStoryBttn, self.saveBttn
        ])  #Excluded txt to speach button as doesn't use the same font
        self.txtLs.extend([self.outTxt])

        #Calls configWidgets to apply default configurations
        self.configWidgets()

        #Step 3: Initialize window
        self.root.mainloop()
Esempio n. 20
0
    def create_widgets(self):
        PADX_LG = (15, 15)
        PADY_SM, PADY_LG, PADY_LLG = (5, 0), (10, 0), (20, 0)
        PADY_SM_E, PADY_LG_E, PADY_LLG_E = (5, 5), (10, 10), (20, 20)

        # make frame resizable
        self.rowconfigure(0, weight=1)
        self.columnconfigure(0, weight=1)

        # frame for selecting tx.in(s)
        row1 = ttk.LabelFrame(self, text='Select tx.in(s) for merging')
        IROW_PATH, IROW_FILTER, IROW_LABEL, IROW_BOX = 0, 1, 2, 3
        row1.columnconfigure(0, weight=1)
        row1.columnconfigure(2, weight=1)
        row1.rowconfigure(IROW_BOX, weight=1)
        row1.grid(column=0, padx=PADX_LG, pady=PADY_LG, sticky='nswe')

        # set search path
        path_area = ttk.Frame(row1)
        path_area.grid(row=IROW_PATH,
                       column=0,
                       columnspan=3,
                       pady=PADY_SM,
                       sticky='nswe')
        path_area.columnconfigure(1, weight=1)
        ttk.Label(path_area, text='Search tx.in(s) from: ').grid(row=0,
                                                                 column=0,
                                                                 sticky='nsw')
        ttk.Entry(path_area, textvariable=self.search_path).grid(row=0,
                                                                 column=1,
                                                                 sticky='nswe')
        ttk.Button(path_area, text='Change', command=self.change_search_path)\
            .grid(row=0, column=2, padx=5, sticky='nse')

        # filter
        filter_area = ttk.Frame(row1)
        filter_area.grid(row=IROW_FILTER,
                         column=0,
                         pady=PADY_SM,
                         sticky='nswe')
        filter_area.columnconfigure(1, weight=1)
        ttk.Label(filter_area, text='Filter: ').grid(row=0,
                                                     column=0,
                                                     sticky='nsw')
        self.combo_filter = ttk.Combobox(filter_area,
                                         width=10,
                                         values=tuple(),
                                         textvariable=self.filter_str)
        self.combo_filter.grid(row=0, column=1, sticky='nswe')
        self.combo_filter.bind('<Return>', self.filter_txin)
        ttk.Button(filter_area, text='OK', width=5, command=self.filter_txin)\
            .grid(row=0, column=2, sticky='nsw')

        # left listbox: tx.in(s) for selecting
        ttk.Label(row1, text='All tx.in(s) available: ')\
            .grid(row=IROW_LABEL, column=0, pady=PADY_SM ,sticky='nsw')
        left_part = ttk.Frame(row1)
        left_part.rowconfigure(0, weight=1)
        left_part.columnconfigure(0, weight=1)
        left_part.grid(row=IROW_BOX, column=0, pady=PADY_SM_E, sticky='nswe')
        self.left_box = tk.Listbox(left_part, selectmode=tk.EXTENDED)
        y_scroll1 = tk.Scrollbar(left_part,
                                 orient=tk.VERTICAL,
                                 command=self.left_box.yview)
        y_scroll1.grid(row=0, column=1, sticky='ns')
        self.left_box['yscrollcommand'] = y_scroll1.set
        self.left_box.grid(row=0, column=0, sticky='nswe')

        # right listbox: selected tx.in(s)
        ttk.Label(row1, text='Selected tx.in(s): ')\
            .grid(row=IROW_LABEL, column=2, pady=PADY_SM ,sticky='nsw')
        right_part = ttk.Frame(row1)
        right_part.rowconfigure(0, weight=1)
        right_part.columnconfigure(0, weight=1)
        right_part.grid(row=IROW_BOX, column=2, pady=PADY_SM_E, sticky='nswe')
        self.right_box = tk.Listbox(right_part, selectmode=tk.EXTENDED)
        y_scroll2 = tk.Scrollbar(right_part,
                                 orient=tk.VERTICAL,
                                 command=self.right_box.yview)
        y_scroll2.grid(row=0, column=1, sticky='ns')
        self.right_box['yscrollcommand'] = y_scroll2.set
        self.right_box.grid(row=0, column=0, sticky='nswe')

        #select button between left and right listbox
        mid_part = ttk.Frame(row1)
        mid_part.rowconfigure(0, weight=1)
        mid_part.rowconfigure(1, weight=1)
        mid_part.grid(row=IROW_BOX,
                      column=1,
                      padx=10,
                      pady=PADY_SM_E,
                      sticky='ns')
        ttk.Button(mid_part, text='Add >>',
                   command=self.add_txins).grid(pady=8, sticky=tk.S)
        ttk.Button(mid_part, text='Drop <<',
                   command=self.rm_txins).grid(pady=8, sticky=tk.N)

        # frame for merging selected tx.in(s)
        row2 = ttk.LabelFrame(self, text='Merge selected tx.in(s)')
        row2.columnconfigure(0, weight=1)
        row2.grid(column=0, padx=PADX_LG, pady=PADY_LG, sticky='nswe')

        # set target ray-group number
        row2_1 = ttk.Frame(row2)
        row2_1.grid(column=0, pady=PADY_SM, sticky='nswe')
        row2_1.columnconfigure(1, weight=1)
        ttk.Checkbutton(
            row2_1,
            text=
            'Reset ray-group number. If disabled, will keep the original ray-group number defined in source tx.in(s).',
            variable=self.enable_ray_number,
            command=self.toggle_ray_number,
        ).grid(row=0, column=0, columnspan=2, sticky='nsw')
        self.ray_number_label = ttk.Label(row2_1,
                                          text='    Target ray-group number: ')
        self.ray_number_label.grid(row=1, column=0, sticky='nsw')
        self.ray_number_box = tk.Spinbox(row2_1,
                                         state='readonly',
                                         from_=1,
                                         to=1e3,
                                         increment=1,
                                         width=4,
                                         textvariable=self.ray_number)
        self.ray_number_box.grid(row=1, column=1, sticky='nsw')

        # set path for target tx.in file
        row2_2 = ttk.Frame(row2)
        row2_2.grid(column=0, pady=PADY_SM_E, sticky='nswe')
        row2_2.columnconfigure(1, weight=1)
        ttk.Label(row2_2, text='Save to: ').grid(row=0, column=0, sticky='nsw')
        entry = ttk.Entry(row2_2, textvariable=self.save_path)
        entry.grid(row=0, column=1, sticky='nswe')
        entry.bind('<Return>', self.handle_ok)
        ttk.Button(row2_2, text='Select', command=self.select_save_path)\
            .grid(row=0, column=2, sticky='nse')

        # command buttons
        row_cmd = ttk.Frame(self)
        row_cmd.rowconfigure(0, weight=1)
        row_cmd.columnconfigure(0, weight=1)
        row_cmd.grid(column=0, padx=PADX_LG, pady=PADY_LLG_E, sticky='nswe')
        ttk.Button(row_cmd, text='OK', command=self.handle_ok).grid(row=0,
                                                                    column=0)
import tkinter

window = tkinter.Tk()
window.title("Welcome to MAKERDEMY")

spin = tkinter.Spinbox(window, from_=0, to=100, width=5)
spin.grid (column=0, row=2)

window.mainloop()

Esempio n. 22
0
    def createWindow(self):

        # Upper center window
        x = (self.winfo_screenwidth() / 2) - 100
        y = (self.winfo_screenheight() / 3) - 45
        self.geometry('+%d+%d' % (x, y))

        # Set min/max sizing for resizing
        self.minsize(width=400, height=130)
        self.maxsize(width=2400, height=130)

        windowcolor = 'grey90'
        self.configure(background=windowcolor)

        # Frame 1
        self.frame1 = tk.Frame(self, background=windowcolor)
        self.inputlabelValue = tk.StringVar(value='Input:')
        self.inputlabel = ttk.Label(self.frame1,
                                    textvariable=self.inputlabelValue,
                                    justify='left',
                                    anchor='w',
                                    font=('Helvetica', 16),
                                    width=10,
                                    background=windowcolor)
        self.inputlabel.pack(fill=tk.X, expand=True)

        self.frame1.pack(fill=tk.X, expand=True, padx=5, pady=5)

        # Frame 2
        self.frame2 = tk.Frame(self, background=windowcolor)
        self.input = tk.StringVar()
        self.inputfield = tk.Spinbox(self.master,
                                     textvariable=self.input,
                                     from_=0,
                                     to=100,
                                     font=('Helvetica', 16),
                                     background='white')
        self.inputfield.pack(fill=tk.X, expand=True)

        self.frame2.pack(fill=tk.X, expand=True, padx=5)

        # Frame 3
        self.frame3 = tk.Frame(self, background=windowcolor)
        self.button2 = tk.Button(self.frame3,
                                 text='Cancel',
                                 justify='center',
                                 anchor='ne',
                                 highlightbackground=windowcolor,
                                 command=self.buttonCancel)
        self.button2.pack(side=tk.RIGHT)

        self.button1 = tk.Button(self.frame3,
                                 text='OK',
                                 justify='center',
                                 anchor='ne',
                                 highlightbackground=windowcolor,
                                 command=self.buttonOK)
        self.button1.pack(side=tk.RIGHT)
        self.frame3.pack(fill=tk.X, expand=True, padx=5)

        # Try to set window focus
        try:
            from Cocoa import NSRunningApplication, NSApplicationActivateIgnoringOtherApps
        except ImportError as err:
            print(err)
            print('pip3 install pyobjc')
            sys.exit()
        app = NSRunningApplication.runningApplicationWithProcessIdentifier_(
            os.getpid())
        app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps)
Esempio n. 23
0
langs = (
    "Assembler",
    "Basic",
    "Brainfuck",
    "C",
    "C++",
    "Java",
    "Julia",
    "Perl",
    "Python",
)

spinbox = tkinter.Spinbox(root,
                          values=langs,
                          width=10,
                          textvariable=selected_lang,
                          wrap=True)

showButton = ttk.Button(root,
                        text="Show var",
                        command=lambda: print(selected_lang.get()))

quitButton = ttk.Button(root, text="Exit", command=exit)

spinbox.grid(column=1, row=1)
showButton.grid(column=1, row=2)
quitButton.grid(column=2, row=2)

root.mainloop()
Esempio n. 24
0
    def __init__(self, parent, X, Y, pp):

        cb_kwargs = dict(onvalue=True, offvalue=False)
        frame_kwargs = dict(padx=2, pady=2)

        self.frame = tkinter.ttk.Frame(parent)
        self.frame.grid(sticky="nswe")  #pack(expand=True, fill='both')

        display_param_label = tk.Label(self.frame,
                                       text='Display parameters',
                                       font=('', '16', 'bold'))
        self.main_frame = tkinter.ttk.LabelFrame(
            self.frame, labelwidget=display_param_label)
        self.main_frame.pack(expand=True, fill='both')
        self.main_frame.grid_columnconfigure(0, weight=1)
        self.X = X
        self.Y = Y

        self.pp = pp

        # ---------------------------------------------------- TITLE ---------------------------------------------------

        title_frame = tkinter.ttk.Frame(self.main_frame)
        title_frame.pack(expand=True, fill='x', **frame_kwargs)
        title_frame.grid_columnconfigure(0, weight=1)

        self.title_var = tk.StringVar(value=pp.title)
        tkinter.ttk.Label(title_frame, text='Title ').pack(side='left')
        tkinter.ttk.Entry(title_frame, textvariable=self.title_var,
                          width=50).pack(side='left', expand=True, fill='x')

        # -------------------------------------------------- FONTSIZE --------------------------------------------------

        # Title fontsize

        fontsize_frame = tkinter.ttk.Frame(self.main_frame)
        fontsize_frame.pack(**frame_kwargs)
        fontsize_frame.grid_columnconfigure(0, weight=1)

        self.fontsize_var = tk.IntVar(value=pp.fontsize)
        self.title_fontsize_var = tk.IntVar(value=pp.title_fontsize)

        tkinter.ttk.Label(fontsize_frame,
                          text='Title fontsize ').grid(row=0, column=0)
        tk.Spinbox(fontsize_frame,
                   textvariable=self.title_fontsize_var,
                   width=3,
                   from_=10,
                   to=100).grid(row=0, column=1)

        tkinter.ttk.Label(fontsize_frame,
                          text='General fontsize ').grid(row=0, column=2)
        tk.Spinbox(fontsize_frame,
                   textvariable=self.fontsize_var,
                   width=3,
                   from_=10,
                   to=100).grid(row=0, column=3)

        # --------------------------------------------------- LEGEND ---------------------------------------------------

        legend_frame = tkinter.ttk.Frame(self.main_frame)
        legend_frame.pack(**frame_kwargs)
        legend_frame.grid_columnconfigure(0, weight=1)

        self.legend_var = tk.BooleanVar(value=pp.display_legends)
        self.lfontsize_var = tk.IntVar(value=pp.l_fontsize)

        tkinter.ttk.Checkbutton(legend_frame,
                                text='Display legend   ',
                                variable=self.legend_var,
                                **cb_kwargs).pack(side='left')
        tkinter.ttk.Label(legend_frame,
                          text='Legend fontsize').pack(side='left')
        tk.Spinbox(legend_frame,
                   textvariable=self.lfontsize_var,
                   width=3,
                   from_=10,
                   to=100).pack(side='left')

        # ---------------------------------------------------- GRID ----------------------------------------------------

        self.grid_var = tk.BooleanVar(value=pp.grid)
        tkinter.ttk.Checkbutton(self.main_frame,
                                text='Show grid ',
                                variable=self.grid_var).pack()

        # --------------------------------------------------- X-AXIS ---------------------------------------------------

        x_frame_label = tkinter.ttk.Label(self.frame,
                                          text=X + ' axis',
                                          font='-weight bold')
        x_frame = tkinter.ttk.LabelFrame(self.main_frame,
                                         labelwidget=x_frame_label)
        x_frame.pack(expand=True, fill='x', **frame_kwargs)
        x_frame.grid_columnconfigure(1, weight=1)

        # xlabel
        self.xlabel_var = tk.StringVar(value=pp.x_label)
        tkinter.ttk.Label(x_frame, text=X + ' axis label ').grid(row=0,
                                                                 column=0)
        tkinter.ttk.Entry(x_frame,
                          textvariable=self.xlabel_var).grid(row=0,
                                                             column=1,
                                                             sticky='we')

        # X limits
        self.xlim_frame = RangeFrame(x_frame,
                                     pp.xmin,
                                     pp.xmax,
                                     X + ' range',
                                     width=5)
        self.xlim_frame.grid(row=1, column=0, columnspan=2)

        # X-ticks
        self.xticks_var = tk.BooleanVar(value=pp.xticks_var)
        tkinter.ttk.Checkbutton(x_frame,
                                text='Display ' + X + ' axis ticks',
                                variable=self.xticks_var,
                                **cb_kwargs).grid(row=2,
                                                  column=0,
                                                  columnspan=2,
                                                  sticky='w')

        # X-ticks labels
        self.xticklabels_var = tk.BooleanVar(value=pp.xticklabels_var)
        tkinter.ttk.Checkbutton(x_frame,
                                text='Display ' + X + ' ticks labels',
                                variable=self.xticklabels_var,
                                **cb_kwargs).grid(row=3,
                                                  column=0,
                                                  columnspan=2,
                                                  sticky='w')

        # --------------------------------------------------- Y-AXIS ---------------------------------------------------

        y_frame_label = tkinter.ttk.Label(self.frame,
                                          text=Y + ' axis',
                                          font='-weight bold')
        y_frame = tkinter.ttk.LabelFrame(self.main_frame,
                                         labelwidget=y_frame_label)
        y_frame.pack(expand=True, fill='x', **frame_kwargs)
        y_frame.grid_columnconfigure(1, weight=1)

        # ylabel
        self.ylabel_var = tk.StringVar(value=pp.y_label)
        tkinter.ttk.Label(y_frame, text=Y + ' axis label ').grid(row=0,
                                                                 column=0)
        tkinter.ttk.Entry(y_frame,
                          textvariable=self.ylabel_var).grid(row=0,
                                                             column=1,
                                                             sticky='we')

        # Y limits
        self.ylim_frame = RangeFrame(y_frame,
                                     pp.ymin,
                                     pp.ymax,
                                     Y + ' range',
                                     width=5)
        self.ylim_frame.grid(row=1, column=0, columnspan=2)

        # Y-ticks
        self.yticks_var = tk.BooleanVar(value=pp.yticks_var)
        tkinter.ttk.Checkbutton(y_frame,
                                text='Display ' + Y + ' ticks',
                                variable=self.yticks_var,
                                **cb_kwargs).grid(row=2,
                                                  column=0,
                                                  columnspan=2,
                                                  sticky='w')

        # Y-ticks labels
        self.yticklabels_var = tk.BooleanVar(value=pp.yticks_var)
        tkinter.ttk.Checkbutton(y_frame,
                                text='Display ' + Y + ' ticks labels',
                                variable=self.yticklabels_var,
                                **cb_kwargs).grid(row=3,
                                                  column=0,
                                                  columnspan=2,
                                                  sticky='w')
Esempio n. 25
0
import tkinter as tk

root = tk.Tk()

tk.Spinbox(root, from_=0, to=10, wrap=True).pack()
tk.Label(root, text='Label', bg='red').pack()
tk.Entry(root, bg='red', state=tk.DISABLED).pack()
tk.Button(root, text='Label', fg='blue').pack()

tk.Label(root, text="FLAT", relief=tk.FLAT).pack()
tk.Label(root, text="RAISED", relief=tk.RAISED).pack()
tk.Label(root, text="SUNKEN", relief=tk.SUNKEN).pack()
tk.Label(root, text="GROOVE", relief=tk.GROOVE).pack()
tk.Label(root, text="RIDGE", relief=tk.RIDGE).pack()

root.mainloop()
Esempio n. 26
0
text0 = tk.Text(frame, height=1.5, width=20, wrap=tk.WORD)
text0.pack(padx=2, pady=2, expand=True)
but0 = tk.Button(frame, text='Начать тестирование', bg=cbut, fg=cwhite, bd=3)
but0.bind("<ButtonRelease-1>", ans1)
but0.pack(padx=5, pady=5, expand=True)

#start Блок 1 вопроса
label1_1 = tk.Label(
    frame,
    text='Вопрос №1\nТекст вопроса\n\nВариант 1\nВариант 2\nВариант 3\n',
    fg=cblack,
    bg=cframe,
    font=('Times', 14, 'bold'))
spin1q = tk.Spinbox(frame,
                    width=10,
                    values=('Вариант 1', 'Вариант 2', 'Вариант 3'),
                    bg=cframe,
                    font=('Times', 10, 'bold'))
but1answ = tk.Button(frame,
                     text='Ответить на вопрос №1\n( правильный 2)',
                     bg=cbut,
                     fg=cwhite,
                     bd=3)
but1answ.bind("<ButtonRelease-1>", ans1_2)
label1_2 = tk.Label(frame,
                    text='Проверка ответа',
                    width=12,
                    height=2,
                    bd=5,
                    fg=cblack,
                    bg=cframe,
Esempio n. 27
0
    def createMediaTab(self):
        # Prepare the variables to set/receive values from GUI
        self.cfgMedPort = tk.IntVar(
            value=self.cfg.mediaConfig.transportConfig.port)
        self.cfgMedPortRange = tk.IntVar(
            value=self.cfg.mediaConfig.transportConfig.portRange)
        self.cfgMedLockCodec = tk.BooleanVar(
            value=self.cfg.mediaConfig.lockCodecEnabled)
        self.cfgMedSrtp = tk.IntVar(value=self.cfg.mediaConfig.srtpUse)
        self.cfgMedSrtpSecure = tk.IntVar(
            value=self.cfg.mediaConfig.srtpSecureSignaling)
        self.cfgMedIpv6 = tk.BooleanVar(
            value=self.cfg.mediaConfig.ipv6Use == pj.PJSUA_IPV6_ENABLED)

        # Build the tab page
        frm = ttk.Frame(self.frm)
        frm.columnconfigure(0, weight=1)
        frm.columnconfigure(1, weight=21)
        row = 0
        ttk.Label(frm, text='Secure RTP (SRTP):').grid(row=row,
                                                       column=0,
                                                       sticky=tk.E,
                                                       pady=2)
        ttk.Radiobutton(frm,
                        text='Disable',
                        value=pj.PJMEDIA_SRTP_DISABLED,
                        variable=self.cfgMedSrtp).grid(row=row,
                                                       column=1,
                                                       sticky=tk.W,
                                                       padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Mandatory',
                        value=pj.PJMEDIA_SRTP_MANDATORY,
                        variable=self.cfgMedSrtp).grid(row=row,
                                                       column=1,
                                                       sticky=tk.W,
                                                       padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Optional (non-standard)',
                        value=pj.PJMEDIA_SRTP_OPTIONAL,
                        variable=self.cfgMedSrtp).grid(row=row,
                                                       column=1,
                                                       sticky=tk.W,
                                                       padx=6)
        row += 1
        ttk.Label(frm, text='SRTP signaling:').grid(row=row,
                                                    column=0,
                                                    sticky=tk.E,
                                                    pady=2)
        ttk.Radiobutton(frm,
                        text='Does not require secure signaling',
                        value=0,
                        variable=self.cfgMedSrtpSecure).grid(row=row,
                                                             column=1,
                                                             sticky=tk.W,
                                                             padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Require secure next hop (TLS)',
                        value=1,
                        variable=self.cfgMedSrtpSecure).grid(row=row,
                                                             column=1,
                                                             sticky=tk.W,
                                                             padx=6)
        row += 1
        ttk.Radiobutton(frm,
                        text='Require secure end-to-end (SIPS)',
                        value=2,
                        variable=self.cfgMedSrtpSecure).grid(row=row,
                                                             column=1,
                                                             sticky=tk.W,
                                                             padx=6)
        row += 1
        ttk.Label(frm, text='RTP transport start port:').grid(row=row,
                                                              column=0,
                                                              sticky=tk.E,
                                                              pady=2)
        tk.Spinbox(frm,
                   from_=0,
                   to=65535,
                   textvariable=self.cfgMedPort,
                   width=5).grid(row=row, column=1, sticky=tk.W, padx=6)
        ttk.Label(frm, text='(0: any)').grid(row=row,
                                             column=1,
                                             sticky=tk.E,
                                             pady=2)
        row += 1
        ttk.Label(frm, text='Port range:').grid(row=row,
                                                column=0,
                                                sticky=tk.E,
                                                pady=2)
        tk.Spinbox(frm,
                   from_=0,
                   to=65535,
                   textvariable=self.cfgMedPortRange,
                   width=5).grid(row=row, column=1, sticky=tk.W, padx=6)
        ttk.Label(frm, text='(0: not limited)').grid(row=row,
                                                     column=1,
                                                     sticky=tk.E,
                                                     pady=2)
        row += 1
        ttk.Label(frm, text='Lock codec:').grid(row=row,
                                                column=0,
                                                sticky=tk.E,
                                                pady=2)
        ttk.Checkbutton(frm, text='Enable',
                        variable=self.cfgMedLockCodec).grid(row=row,
                                                            column=1,
                                                            sticky=tk.W,
                                                            padx=6,
                                                            pady=2)
        row += 1
        ttk.Label(frm, text='Use IPv6:').grid(row=row,
                                              column=0,
                                              sticky=tk.E,
                                              pady=2)
        ttk.Checkbutton(frm, text='Yes',
                        variable=self.cfgMedIpv6).grid(row=row,
                                                       column=1,
                                                       sticky=tk.W,
                                                       padx=6,
                                                       pady=2)

        self.wTab.add(frm, text='Media settings')
Esempio n. 28
0
def testSpeaker():
    Test4 = speakerList.get()
    if (Test4 == "TextToSpeech"):
        SpeakerTest.textToSpeech()


#making Label for servo Test in coordinates (x,y)
servoLabel = tk.Label(window, text="Servos")
servoLabel.place(x=0, y=20, width=120, height=40)
servoLabel.configure(font=("Arial", 25))

#making Menu For Servo Testing
servoList = tk.Spinbox(
    window,
    values=("NeckServo", "RightShoulderServoFirstDegree",
            "RightShoulderServoSecondDegree", "LeftShoulderServoFirstDegree",
            "LeftShoulderServoSecondDegree", "RightElbow", "LeftElbow"))
servoList.place(x=10, y=80, width=350, height=40)
servoList.configure(font=("SANS", 14))

#making Button For Testing Servo
servosButton = tk.Button(window,
                         text="TestServo",
                         bg='blue',
                         command=testServo)
servosButton.place(x=100, y=140, width=100, height=40)
servosButton.configure(font=("Helvetica", 15))

#making Label for mic Test in coordinates (x,y)
micLabel = tk.Label(window, text="MIC")
Esempio n. 29
0
    def __init__(self, w, RPC):
        Page.__init__(self)
        self.RPC = RPC
        self.hideFT = True
        self.max = 6
        # label = tk.Label(self, text="Max's Destiny 2 Rich Presence App")
        # label.place(x=(w/2), y=25, anchor="center")  # Place label at top of screen
        bottomFrame = tk.Frame(self, height=250)
        # bottomFrame.grid_configure()

        self.startUpdateButton = tk.Button(self,
                                           text="Start Updating",
                                           command=self.updatePressed)
        # startUpdateButton.place(x=(w/2), y=(w/2), anchor="center")
        self.startUpdateButton.pack(side=BOTTOM)
        bottomFrame.pack(side=BOTTOM)

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

        self.toggleFTButton = tk.Button(bottomFrame,
                                        text="Fireteam Size: Hidden",
                                        command=self.toggleHideFT)
        self.toggleFTButton.grid(row=1, column=2)

        vcmdCUR = (self.register(self.validateCur), '%P')

        self.curSizeSB = tk.Spinbox(bottomFrame,
                                    from_=1,
                                    to_=12,
                                    increment=1,
                                    validate="key",
                                    validatecommand=vcmdCUR,
                                    width=5)
        self.curSizeSB.grid(row=1, column=3)

        slashLabel = tk.Label(bottomFrame, text="/")
        slashLabel.grid(row=1, column=4)

        vcmdMAX = (self.register(self.validateMax), '%P')
        var = tk.IntVar(self)
        var.set(self.max)

        self.maxSizeSB = tk.Spinbox(bottomFrame,
                                    from_=1,
                                    to_=12,
                                    increment=1,
                                    validate="key",
                                    validatecommand=vcmdMAX,
                                    textvariable=var,
                                    width=5)
        self.maxSizeSB.grid(row=1, column=5)

        # self.startUpdateButton.grid(row=3, column=3)

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

        # Force update button?

        stateTextBox = tk.Text(self, state=DISABLED)
        stateTextBox.pack(side=TOP)
        # stateTextBox.config(state=DISABLED)
        self.RPC.setUpdateBox(stateTextBox)
Esempio n. 30
0
    def __init__(
        self,
        library=None,
        cells=None,
        hidden_types=[],
        depth=0,
        color={},
        pattern={},
        background="#202020",
        width=800,
        height=600,
    ):
        tkinter.Frame.__init__(self, None)

        if library is None:
            library = gdspy.current_library
        self.current_cell = tkinter.StringVar()
        if cells is None:
            self.cells = library.cell_dict
            cell_names = list(library.cell_dict.keys())
            self.cell_bb = dict([(s, None) for s in self.cells])
        else:
            if isinstance(cells, str) or isinstance(cells, gdspy.Cell):
                cells = (cells, )
            self.cells = {}
            cell_names = []
            self.cell_bb = {}
            for c in cells:
                cell = library.cell_dict.get(c, c)
                self.cells[cell.name] = cell
                cell_names.append(cell.name)
                self.cell_bb[cell.name] = None
        self.current_cell.set(cell_names[0])

        self.depth = tkinter.IntVar()
        self.depth.set(depth)

        self.hidden_layers = hidden_types

        self.color = ColorDict(color.get("default", None))
        self.color.update(color)

        self.pattern = PatternDict(pattern.get("default", None))
        self.pattern.update(pattern)

        # Setup resizable window
        self.grid(sticky="nsew")
        top = self.winfo_toplevel()
        top.rowconfigure(0, weight=1)
        top.columnconfigure(0, weight=1)
        self.rowconfigure(0, weight=1)
        self.columnconfigure(0, weight=1)

        # Setup canvas
        self.canvas = tkinter.Canvas(self,
                                     width=width,
                                     height=height,
                                     xscrollincrement=0,
                                     yscrollincrement=0)
        self.canvas.grid(row=0, column=0, sticky="nsew")
        self.canvas.configure(bg=background)
        bg = [
            int(c, 16)
            for c in (background[1:3], background[3:5], background[5:7])
        ]
        self.default_outline = "#{0[0]:02x}{0[1]:02x}{0[2]:02x}".format([
            (0 if c > 127 else 255) for c in bg
        ])
        self.default_grey = "#{0[0]:02x}{0[1]:02x}{0[2]:02x}".format([
            ((c + 256) // 2 if c < 85 else
             (c // 2 if c > 171 else (255 if c > 127 else 0))) for c in bg
        ])

        # Setup scrollbars
        self.xscroll = tkinter.Scrollbar(self,
                                         orient=tkinter.HORIZONTAL,
                                         command=self.canvas.xview)
        self.xscroll.grid(row=1, column=0, sticky="ew")
        self.yscroll = tkinter.Scrollbar(self,
                                         orient=tkinter.VERTICAL,
                                         command=self.canvas.yview)
        self.yscroll.grid(row=0, column=1, sticky="ns")
        self.canvas["xscrollcommand"] = self.xscroll.set
        self.canvas["yscrollcommand"] = self.yscroll.set

        # Setup toolbar
        self.frame = tkinter.Frame(self)
        self.frame.columnconfigure(6, weight=1)
        self.frame.grid(row=2,
                        column=0,
                        columnspan=2,
                        padx=2,
                        pady=2,
                        sticky="ew")

        # Setup buttons
        self.home = tkinter.Button(self.frame,
                                   text="Extents",
                                   command=self._update_canvas)
        self.zoom_in = tkinter.Button(self.frame,
                                      text="In",
                                      command=self._zoom_in)
        self.zoom_out = tkinter.Button(self.frame,
                                       text="Out",
                                       command=self._zoom_out)
        self.cell_menu = tkinter.OptionMenu(self.frame, self.current_cell,
                                            *cell_names)
        self.depth_spin = tkinter.Spinbox(
            self.frame,
            textvariable=self.depth,
            command=self._update_depth,
            from_=-1,
            to=128,
            increment=1,
            justify=tkinter.RIGHT,
            width=3,
        )
        self.home.grid(row=0, column=0, sticky="w")
        self.zoom_in.grid(row=0, column=1, sticky="w")
        self.zoom_out.grid(row=0, column=2, sticky="w")
        self.cell_menu.grid(row=0, column=3, sticky="w")
        tkinter.Label(self.frame, text="Ref level:").grid(row=0,
                                                          column=4,
                                                          sticky="w")
        self.depth_spin.grid(row=0, column=5, sticky="w")
        self.bind_all("<KeyPress-Home>", self._update_canvas)
        self.bind_all("<KeyPress-A>", self._update_canvas)
        self.bind_all("<KeyPress-a>", self._update_canvas)

        # Setup coordinates box
        self.coords = tkinter.Label(self.frame, text="0, 0")
        self.coords.grid(row=0, column=6, sticky="e")

        # Layers
        self.l_canvas = tkinter.Canvas(self)
        self.l_canvas.grid(row=0, column=2, rowspan=3, sticky="nsew")
        self.l_scroll = tkinter.Scrollbar(self,
                                          orient=tkinter.VERTICAL,
                                          command=self.l_canvas.yview)
        self.l_scroll.grid(row=0, column=3, rowspan=3, sticky="ns")
        self.l_canvas["yscrollcommand"] = self.l_scroll.set

        # Change current cell
        self.current_cell.trace_variable("w", self._update_canvas)

        # Update depth
        self.depth_spin.bind("<FocusOut>", self._update_depth)

        # Drag-scroll: button 2
        self.canvas.bind("<Button-2>",
                         lambda evt: self.canvas.scan_mark(evt.x, evt.y))
        self.canvas.bind("<Motion>", self._mouse_move)

        # Y scroll: scroll wheel
        self.canvas.bind(
            "<MouseWheel>",
            lambda evt: self.canvas.yview(tkinter.SCROLL, 1 if evt.delta < 0
                                          else -1, tkinter.UNITS),
        )
        self.canvas.bind(
            "<Button-4>",
            lambda evt: self.canvas.yview(tkinter.SCROLL, -1, tkinter.UNITS),
        )
        self.canvas.bind(
            "<Button-5>",
            lambda evt: self.canvas.yview(tkinter.SCROLL, 1, tkinter.UNITS),
        )

        self.l_canvas.bind(
            "<MouseWheel>",
            lambda evt: self.l_canvas.yview(tkinter.SCROLL, 1 if evt.delta < 0
                                            else -1, tkinter.UNITS),
        )
        self.l_canvas.bind(
            "<Button-4>",
            lambda evt: self.l_canvas.yview(tkinter.SCROLL, -1, tkinter.UNITS),
        )
        self.l_canvas.bind(
            "<Button-5>",
            lambda evt: self.l_canvas.yview(tkinter.SCROLL, 1, tkinter.UNITS),
        )

        # X scroll: shift + scroll wheel
        self.bind_all(
            "<Shift-MouseWheel>",
            lambda evt: self.canvas.xview(tkinter.SCROLL, 1 if evt.delta < 0
                                          else -1, tkinter.UNITS),
        )
        self.canvas.bind(
            "<Shift-Button-4>",
            lambda evt: self.canvas.xview(tkinter.SCROLL, -1, tkinter.UNITS),
        )
        self.canvas.bind(
            "<Shift-Button-5>",
            lambda evt: self.canvas.xview(tkinter.SCROLL, 1, tkinter.UNITS),
        )

        # Object properties: double button 1
        # Zoom rectangle: drag button 1
        # Measure tool: button 1 (click + click, no drag)
        self.canvas.bind("<Button-1>", self._zoom_rect_mark)
        self.canvas.bind("<ButtonRelease-1>", self._mouse_btn_1)
        self.canvas.bind("<Double-Button-1>", self._properties)

        # Zoom: control + scroll wheel
        self.bind_all("<Control-MouseWheel>", self._zoom)
        self.canvas.bind("<Control-Button-4>", self._zoom)
        self.canvas.bind("<Control-Button-5>", self._zoom)

        # Update the viewer
        self.shown_cell = None
        self.shown_depth = depth
        self.canvas_margins = None
        self._update_canvas()
        self.master.title("Gdspy - Layout Viewer")
        self.mainloop()