def _init_frame(self): Label(self, textvariable=self.title, width=8, font=(MS_JH, 14)).place(x=43, y=5) self.box_12_button = ToggleButton(self, text='1&2', width=4, font=(SCP, 11), relief=RIDGE) self.box_12_button.place(x=18 + 51 * 0, y=39) self.box_3_button = ToggleButton(self, text='3', width=4, font=(SCP, 11), relief=RIDGE) self.box_3_button.place(x=18 + 51 * 1, y=39) self.box_4_button = ToggleButton(self, text='4', width=4, font=(SCP, 11), relief=RIDGE) self.box_4_button.place(x=18 + 51 * 2, y=39) submit_button = Button(self, text='Submit', width=15, font=(SCP, 11), relief=RIDGE) submit_button.place(x=20, y=76) submit_button.bind('<Button-1>', lambda event: self.submitting()) label_x = 12 var_x = label_x + 98 current_y = 114 Label(self, text=' Times :', width=12, font=(SCP, 10)).place(x=label_x, y=current_y) Label(self, text='Fertilizer:', width=12, font=(SCP, 10)).place(x=label_x, y=current_y + 20) self.times_var = StringVar() self.fertilizer_var = StringVar() Label(self, textvariable=self.times_var, width=6, font=(SCP, 11)).place(x=var_x, y=current_y) Label(self, textvariable=self.fertilizer_var, width=6, font=(SCP, 11)).place(x=var_x, y=current_y + 20) current_y += 45 Label(self, text=' Avg.Fer. :', width=12, font=(SCP, 10)).place(x=label_x, y=current_y) Label(self, text='Character :', width=12, font=(SCP, 10)).place(x=label_x, y=current_y + 20) self.avg_fertilizer_var = StringVar() self.character_var = StringVar() Label(self, textvariable=self.avg_fertilizer_var, width=6, font=(SCP, 11)).place(x=var_x, y=current_y) Label(self, textvariable=self.character_var, width=6, font=(SCP, 11)).place(x=var_x, y=current_y + 20) self._init_buttons_state()
def _init_frame(self): Label(self, textvariable=self.title, width=13, font=(MS_JH, 14)).place(x=12, y=5) self.box_1_button = ToggleButton(self, text='1st', width=3, font=(SCP, 11), relief=RIDGE) self.box_1_button.place(x=5 + 43 * 0, y=39) self.box_2_button = ToggleButton(self, text='2nd', width=3, font=(SCP, 11), relief=RIDGE) self.box_2_button.place(x=5 + 43 * 1, y=39) self.box_3_button = ToggleButton(self, text='3rd', width=3, font=(SCP, 11), relief=RIDGE) self.box_3_button.place(x=5 + 43 * 2, y=39) self.box_4_button = ToggleButton(self, text='4th', width=3, font=(SCP, 11), relief=RIDGE) self.box_4_button.place(x=5 + 43 * 3, y=39) submit_button = Button(self, text='Submit', width=17, font=(SCP, 11), relief=RIDGE) submit_button.place(x=5, y=76) submit_button.bind('<Button-1>', lambda event: self.submitting()) current_y = 114 self.total_desc = StringVar() Label(self, textvariable=self.total_desc, width=16, font=(SCP, 11)).place(x=13, y=current_y) current_y += 28 self.drop_vars = [IntVar(), IntVar(), IntVar(), IntVar()] for i in range(4): Label(self, textvariable=self.drop_vars[i], width=3, font=(SCP, 11), relief=GROOVE). \ place(x=6 + 43 * i, y=current_y) current_y += 29 self.values_desc = StringVar() Label(self, textvariable=self.values_desc, width=16, font=(SCP, 11)).place(x=13, y=current_y)
def _init_upper_frame(self): self.insufficiently = ToggleButton(self, text='Insufficiently', width=14, font=(SCP, 8), relief=RIDGE) self.insufficiently.bind( '<Button-1>', lambda event: (self.filter_manager.set_specific_condition( 'unforged', 0 if self.insufficiently.is_selected else CONDITIONLESS, rule=not_match_request), self.update_table()), add='+') self.insufficiently.place(x=380, y=3) Label(self, text='Type:', width=5, font=(MS_JH, 11)).place(x=510, y=3) self.type_selector = FilteredCombobox(self, width=4, font=(MS_JH, 9), justify=CENTER, state='readonly') self.type_selector['values'] = WEAPONS self.type_selector.place(x=558, y=5) self.type_selector.bind( '<<ComboboxSelected>>', lambda event: (self.filter_manager.set_specific_condition( 'weapon_type', self.type_selector.get()), self.update_table())) button = Button(self, text='新增', width=8, font=(MS_JH, 10)) button.place(x=640, y=1) button["command"] = lambda: open_adding_new_character_weapon_window( self, callback=lambda cw: (self.characters.append(cw), self.update_table()))
def _init_left_frame(self): button = Button(self, text="記錄好友現況", width=2, height=12, wraplength=1, font=(MS_JH, 12)) button.place(x=4, y=40) button["command"] = self.switching_to_friend_record self.friend_existent_mode_button = \ ToggleButton(self, text="好友整理", width=2, height=5, wraplength=1, font=(MS_JH, 11)) self.friend_existent_mode_button.place(x=5, y=304) self.friend_existent_mode_button[ "command"] = self.switching_friend_existent_mode
def _init_widget(self): current_y_diff = 28 current_y = 20 current_x = 23 self.character_selector = CharacterSelectorCanvas( self, self.character_power.character) self.character_selector.place(x=current_x, y=current_y - 3) callback_after_selection = lambda event: ( self.filling_in_entries_by_character(), level_entry.focus_set()) self.character_selector.bind('<Return>', callback_after_selection) self.character_selector.bind('-', callback_after_selection) current_x += 145 Label(self, width=5, text='Level', font=(SCP, 12)).place(x=current_x, y=current_y) self.level = StringVar() level_entry = Entry(self, width=5, textvariable=self.level, font=(SCP, 12), justify=CENTER) level_entry.place(x=current_x + 2, y=current_y + current_y_diff) level_entry.bind( '<Return>', lambda x: (self.filling_in_atk_by_level(), atk_entry.focus_set())) current_x += 62 Label(self, width=5, text='Atk', font=(SCP, 12)).place(x=current_x, y=current_y) self.atk = StringVar() atk_entry = Entry(self, width=5, textvariable=self.atk, font=(SCP, 12), justify=CENTER) atk_entry.place(x=current_x + 3, y=current_y + current_y_diff) atk_entry.bind('<Return>', lambda x: active_factor_entry.focus_set()) current_x += 70 Label(self, width=25, text='Addition', font=(SCP, 12)).place(x=current_x, y=current_y) self.addition = StringVar() addition_entry = Entry(self, width=25, textvariable=self.addition, font=(MS_JH, 12), justify=CENTER) addition_entry.place(x=current_x + 3, y=current_y + current_y_diff) addition_entry.bind('<Return>', lambda x: self.presently.focus_set()) current_y += 14 + current_y_diff * 2 current_x = 27 Label(self, width=8, text='AtkRaised', font=(SCP, 10)).place(x=current_x + 1, y=current_y + 3) self.atk_raised = StringVar() atk_raised_entry = Entry(self, width=7, textvariable=self.atk_raised, font=(SCP, 12), justify=CENTER) atk_raised_entry.place(x=current_x, y=current_y + current_y_diff) atk_raised_entry.bind('<Return>', lambda x: active_factor_entry.focus_set()) current_x += 90 Label(self, width=7, text='HitRate', font=(SCP, 11)).place(x=current_x, y=current_y) self.hit_rate = StringVar() hit_rate_entry = Entry(self, width=6, textvariable=self.hit_rate, font=(SCP, 12), justify=CENTER) hit_rate_entry.place(x=current_x + 2, y=current_y + current_y_diff) hit_rate_entry.bind('<Return>', lambda x: active_factor_entry.focus_set()) current_x += 83 Label(self, width=8, text='Cri.Ratio', font=(SCP, 10)).place(x=current_x, y=current_y + 3) self.critical_ratio = StringVar() critical_ratio_entry = Entry(self, width=6, textvariable=self.critical_ratio, font=(SCP, 12), justify=CENTER) critical_ratio_entry.place(x=current_x + 3, y=current_y + current_y_diff) critical_ratio_entry.bind('<Return>', lambda x: active_factor_entry.focus_set()) current_x += 85 Label(self, width=9, text='Cri.Factor', font=(SCP, 9)).place(x=current_x, y=current_y + 4) self.critical_factor = StringVar() critical_factor_entry = Entry(self, width=6, textvariable=self.critical_factor, font=(SCP, 12), justify=CENTER) critical_factor_entry.place(x=current_x + 3, y=current_y + current_y_diff) critical_factor_entry.bind('<Return>', lambda x: active_factor_entry.focus_set()) current_x += 84 Label(self, width=9, text='Act.Factor', font=(SCP, 9)).place(x=current_x, y=current_y + 4) self.active_factor = StringVar() active_factor_entry = Entry(self, width=6, textvariable=self.active_factor, font=(SCP, 12), justify=CENTER) active_factor_entry.place(x=current_x + 4, y=current_y + current_y_diff) active_factor_entry.bind('<Return>', lambda x: addition_entry.focus_set()) current_x += 86 Label(self, width=8, text='Act.Cost', font=(SCP, 11)).place(x=current_x, y=current_y + 3) self.active_cost = StringVar() active_cost_entry = Entry(self, width=6, textvariable=self.active_cost, font=(SCP, 12), justify=CENTER) active_cost_entry.place(x=current_x + 5, y=current_y + current_y_diff) active_cost_entry.bind('<Return>', lambda x: addition_entry.focus_set()) # 送出、取消的按鈕 current_y += 23 + current_y_diff * 2 self.presently = ToggleButton(self, text='Presently', width=9, font=(SCP, 11), relief=RIDGE) self.presently.place(x=22, y=current_y) self.presently.bind('<space>', lambda event: self.presently.toggling()) self.presently.bind('<Return>', lambda x: self.submitting()) Button(self, text="Submit", command=self.submitting, width=28, relief=RIDGE, font=(SCP, 11)).place(x=131, y=current_y) Button(self, text="Cancel", command=self.destroy, width=13, relief=RIDGE, font=(SCP, 11)).place(x=405, y=current_y)