示例#1
0
 def __open_mark(self):
     '''Open files by mark: Major dialogue for mark choices and logic'''
     ### despite using select, invoke, focus_set, event_generate,
     ### tk wouldn't set the OR radiobutton as default.
     ### So the following sub-function is a workaround to force the issue.
     def default_selection(var):
         var.set("or")
     def lookup(toc,gl,word):
         l = len(word)
         for i, item in enumerate(toc):
             if item.find(word,0,l) > -1:
                 gl.see(i)
                 break
     dprint(3, "\nTkMemobook::open_mark:: ")
     toc = [ item for item in self.data.toc() ]
     toc.sort(key=lambda x: x.lower())
     getter = Toplevel(self.root)
     getter_list = ListboxHV(getter, selectmode="multiple")
     for item in toc:
         getter_list.insert(END, item)
     getter_list.pack(fill="both", expand="true")
     quick_var = StringVar()
     quick_var.trace_add("write",
                         lambda i,j,k: lookup(toc,getter_list,quick_var.get()))
     quick_frame = Frame(getter)
     quick_label = Label(quick_frame,
                         text="Quick lookup:")
     quick_enter = Entry(quick_frame,
                         textvariable=quick_var,
                         width=24)
     quick_label.pack(side="left")
     quick_enter.pack(side="left")
     button_frame = Frame(getter)
     
     logic_variable = StringVar(None, "or")
     radiobutt_OR = Radiobutton(button_frame,
                                text="OR",
                                variable=logic_variable,
                                command=lambda: default_selection(logic_variable),  # get tk to give default selection
                                value="or")
     radiobutt_AND = Radiobutton(button_frame,
                                 text="AND",
                                 variable=logic_variable,
                                 value="and")
     retbutt = Button(button_frame,
                      text="Apply",
                      command=lambda: self.__open_mark_confirm(getter,
                                                               [ toc[int(j)] for j in getter_list.curselection() ],
                                                               logic_variable.get()))
     cancbutt = Button(button_frame,
                       text="Cancel",
                       command=lambda: getter.destroy())
     radiobutt_OR.pack(side="left")
     radiobutt_AND.pack(side="left")
     cancbutt.pack(side="left")
     retbutt.pack(side="left")
     button_frame.pack(side="bottom")
     quick_frame.pack(side="bottom")
     radiobutt_OR.invoke()
示例#2
0
    def __init__(self, master):
        main_frame = Frame(master)
        main_frame.pack()

        # Color picker panel
        self.color_picker = Frame(main_frame)
        self.color_picker.grid(row=1, column=0)

        # Converted color panel
        self.converted_color = Frame(main_frame)
        self.converted_color.grid(row=1, column=2)

        # Values for entry and scale in RGB
        self.rgb = self.initialize_rgb()

        # Values for entry and scale in CMYK
        self.cmyk = self.initialize_cmyk()
        # Color preview panel
        self.canvas = Canvas(main_frame, width=300, height=300)
        self.canvas.create_rectangle(0, 0, 300, 300, fill=self.DEFAULT_COLOR)
        self.canvas.grid(row=1, column=1)

        # Color model selector section
        self.selected_model = IntVar()
        self.selected_model.set(1)

        radio_button_frame = Frame(main_frame)
        Label(radio_button_frame, text='Choose color model').grid(row=0,
                                                                  columnspan=2)

        rgb_button = Radiobutton(radio_button_frame,
                                 text='RGB',
                                 variable=self.selected_model,
                                 value=1,
                                 command=self.change_panel)
        rgb_button.grid(row=1, column=0)
        rgb_button.invoke()

        Radiobutton(radio_button_frame,
                    text='CMYK',
                    variable=self.selected_model,
                    value=2,
                    command=self.change_panel).grid(row=1, column=1)
        radio_button_frame.grid(row=0, columnspan=2)
示例#3
0
    def __init__(self, tkobj, *args, **kwargs):
        super().__init__(tkobj, *args, **kwargs)
        #radiobutton engl/dt

        #self.EntrySpr = ttk.Frame(tkobj)
        #self.EntrySpr.grid(column=0, row=20, sticky=N)
        #self.lblSprache = Label(self.EntrySpr, text='Sprachausgabe PDF', font=13)
        #self.lblSprache.grid(column=0, row=0, pady=5, padx=5, sticky=NW)
        self.LangVar = IntVar()
        rad1 = Radiobutton(self,
                           text='deutsch',
                           value=0,
                           variable=self.LangVar)
        rad2 = Radiobutton(self,
                           text='englisch',
                           value=1,
                           variable=self.LangVar)

        rad1.grid(column=1, row=0, sticky=W)
        rad2.grid(column=2, row=0, sticky=W)
        rad1.select()
        rad1.invoke()  # triggered to set default language
示例#4
0
文件: app.py 项目: degi/nelderplot
    def __init__(self, master):
        self.master = master
        master.title(self.title)
        form_main = tk.Frame(master)

        # create the interface for the parameters input
        self.fieldEnt = {}
        self.nelder_plot = NelderPlot()
        self.field_summary = self.nelder_plot.summary_info
        self.param_type = self.nelder_plot.param_type_label
        self.opt_param = StringVar()
        self.opt_param.set(self.param_type[0])
        r1 = Radiobutton(form_main, text=self.param_type[0], variable=self.opt_param, 
                         value=self.param_type[0], command=self.selectParams, font=self.font_header)
        r2 = Radiobutton(form_main, text=self.param_type[1], variable=self.opt_param, 
                         value=self.param_type[1], command=self.selectParams, font=self.font_header)
        form_density = self.makeForm(form_main, self.nelder_plot.param_practical_label, "", r1)
        form_param = self.makeForm(form_main, self.nelder_plot.param_basic_label, "", r2)
        form_density.pack(padx=5, pady=2, fill=tk.X)
        form_param.pack(padx=5, pady=2, fill=tk.X)
        form_main.pack(side=tk.LEFT, padx=5, pady=5)
        r1.invoke()
        
        #options for center of rotation
        rotPanel = tk.LabelFrame(form_main, bd = 2, text = self.param_type[2], font=self.font_header)
        self.opt_rot_center = StringVar()
        self.opt_rot_center.set(self.nelder_plot.center_config[0])
        n = 0
        for t, v in zip(self.center_options, self.nelder_plot.center_config):
            r, c = divmod(n, 2) 
            n += 1
            Radiobutton(rotPanel, text=t, variable=self.opt_rot_center, value=v, 
                             command=self.selectCenter).grid(row = r, column = c, sticky=tk.W)
        centerxyF = self.makeFormRow(rotPanel, self.field_center)        
        centerxyF.grid(row = 2, column = 1, sticky=tk.W)
        rotPanel.pack(padx=5, pady=2, fill=tk.X)
        self.enableEntry(self.field_center, False)

        # input for number of species
        self.opt_species = IntVar()
        self.opt_species.set(1)
        speciesPanel = tk.LabelFrame(form_main, bd = 2, text = self.param_type[3], font=self.font_header)
        for i in range(3):
            Radiobutton(speciesPanel, text=str(i+1), variable=self.opt_species, value=i+1, 
                             command=self.selectSpeciesOptions).pack(side=tk.LEFT)
        self.opt_alt = IntVar()
        self.cb_alt = Checkbutton(speciesPanel, text=self.label_alt_spoke, variable=self.opt_alt,
            command=self.selectSpeciesOptions, state = 'disabled')
        self.cb_alt.pack(side=tk.LEFT)
        speciesPanel.pack(padx=5, pady=2, fill=tk.X)
                             
        # create summary info panel
        form_summary = self.makeLabel(form_main, self.field_summary, self.param_type[4])
        form_summary.pack(padx=5, pady=2, fill=tk.X)
        form_canvas = tk.Frame(master)
        self.makeToolbar(form_canvas)
        nb = Notebook(form_canvas)
        page1 = tk.Frame(nb)
        page2 = tk.Frame(nb)
        page3 = tk.Frame(nb)
        nb.add(page1, text= self.output_page[0])
        nb.add(page2, text= self.output_page[1])
        nb.add(page3, text= self.output_page[2])
        nb.pack(fill=tk.BOTH, expand=True)
        form_canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
        
        # create tabbed panel for the canvas dan data table
        self.plot_canvas = PlotCanvas(page1)
        self.plot_canvas.pack(fill=tk.BOTH, expand=True)
        self.spacingTable = self.makeTable(page2, self.nelder_plot.variable_table_header)
        self.datapointsTable = self.makeTable(page3, self.nelder_plot.datapoint_table_header)
        # get the supported image formats 
        ft = self.plot_canvas.figure.canvas.get_supported_filetypes()
        self.image_file_types = [(v, "." + k) for k, v in ft.items()]
        png = ('Portable Network Graphics', '.png')
        self.image_file_types.remove(png)
        self.image_file_types.insert(0, png)
class Multi:
    """Simple application for multiplying numbers"""
    def __init__(self, window):
        self.window = window
        window.title("Multiplication")
        window.geometry("610x505")
        window.resizable(False, False)
        window.configure(background="light yellow")

        self.row_y = IntVar()
        self.row_x = IntVar()

        self.radio_y1 = Radiobutton(self.window,
                                    text="1",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=1,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y2 = Radiobutton(self.window,
                                    text="2",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=2,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y3 = Radiobutton(self.window,
                                    text="3",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=3,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y4 = Radiobutton(self.window,
                                    text="4",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=4,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y5 = Radiobutton(self.window,
                                    text="5",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=5,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y6 = Radiobutton(self.window,
                                    text="6",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=6,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y7 = Radiobutton(self.window,
                                    text="7",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=7,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y8 = Radiobutton(self.window,
                                    text="8",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=8,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y9 = Radiobutton(self.window,
                                    text="9",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=9,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_y0 = Radiobutton(self.window,
                                    text="10",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_y,
                                    value=10,
                                    indicatoron=0,
                                    width=3,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x1 = Radiobutton(self.window,
                                    text="1",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=1,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x2 = Radiobutton(self.window,
                                    text="2",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=2,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x3 = Radiobutton(self.window,
                                    text="3",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=3,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x4 = Radiobutton(self.window,
                                    text="4",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=4,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x5 = Radiobutton(self.window,
                                    text="5",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=5,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x6 = Radiobutton(self.window,
                                    text="6",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=6,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x7 = Radiobutton(self.window,
                                    text="7",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=7,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x8 = Radiobutton(self.window,
                                    text="8",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=8,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x9 = Radiobutton(self.window,
                                    text="9",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=9,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)
        self.radio_x0 = Radiobutton(self.window,
                                    text="10",
                                    font=("Arial", 18, "bold"),
                                    variable=self.row_x,
                                    value=10,
                                    indicatoron=0,
                                    width=3,
                                    height=1,
                                    selectcolor="light green",
                                    background="light blue",
                                    command=self.operation)

        self.label_0 = Label(self.window,
                             text="*",
                             font=("Arial", 18, "bold"),
                             background="light yellow")
        self.label_1 = Label(self.window,
                             text="",
                             font=("Arial", 60, "bold"),
                             background="light yellow")

        # Arrangement
        self.radio_y1.grid(column=0, row=1, ipady=2)
        self.radio_y2.grid(column=0, row=2, ipady=2)
        self.radio_y3.grid(column=0, row=3, ipady=2)
        self.radio_y4.grid(column=0, row=4, ipady=2)
        self.radio_y5.grid(column=0, row=5, ipady=2)
        self.radio_y6.grid(column=0, row=6, ipady=2)
        self.radio_y7.grid(column=0, row=7, ipady=2)
        self.radio_y8.grid(column=0, row=8, ipady=2)
        self.radio_y9.grid(column=0, row=9, ipady=2)
        self.radio_y0.grid(column=0, row=10, ipady=2)
        self.radio_x1.grid(column=1, row=0)
        self.radio_x2.grid(column=2, row=0)
        self.radio_x3.grid(column=3, row=0)
        self.radio_x4.grid(column=4, row=0)
        self.radio_x5.grid(column=5, row=0)
        self.radio_x6.grid(column=6, row=0)
        self.radio_x7.grid(column=7, row=0)
        self.radio_x8.grid(column=8, row=0)
        self.radio_x9.grid(column=9, row=0)
        self.radio_x0.grid(column=10, row=0)
        self.label_1.grid(column=1, row=1, columnspan=9, rowspan=9)
        self.label_0.grid(column=0, row=0)

        # Radiobuttons with value = 1 selected by default
        self.radio_y1.invoke()
        self.radio_x1.invoke()

    # Multiplication function
    def operation(self):
        self.label_1["text"] = str(self.row_y.get() * self.row_x.get())
        # Differrent color per result
        self.label_1["foreground"] = random.choice([
            'dark slate gray', 'slate gray', 'midnight blue', 'navy',
            'royal blue', 'dodger blue', 'forest green', 'dark green',
            'steel blue', 'dark olive green', 'goldenrod', 'saddle brown',
            'dark orange', 'orange red', 'red', 'deep pink', 'maroon',
            'dark violet', 'blue violet', 'turquoise4', 'cyan4', 'brown4',
            'IndianRed3', 'firebrick3', 'magenta4', 'red2', 'red3', 'red4'
        ])