【python】tkinterでのレイアウトについて

python

1class AnnouncementEditScreen(tk.Frame):2 def __init__(self, master, appProcess):3 super().__init__(master)4 self.appProcess = appProcess 5 self.master = master 6 7 # タイトルの変更8 self.master.title(conf.get('SCREEN_MESSAGE', 'TITLE') + ' ' + conf.get('SCREEN_MESSAGE', 'ANNOUNCEMENT_EDIT'))9 10 # 外枠の定義11 self.configure(padx=20, pady=20, bg=conf.get('MENU', 'BG_COLOR'))12 13 # ラベルの定義14 self.announce_label = Label(self, text=conf.get('SCREEN_MESSAGE', 'ANNOUNCEMENT_EDIT'), font=(conf.get('BUTTON', 'BUTTON_FONT'), 15), bg=conf.get('MENU', 'BG_COLOR'))15 16 # ボタンスタイル定義17 style_announce = ttk.Style()18 style_announce.configure('announce1.TButton', font=(conf.get('BUTTON', 'BUTTON_FONT'), 15, ''), background=conf.get('BUTTON', 'BUTTON_COLOR'))19 style_announce.configure("announce2.TButton", font=(conf.get('BUTTON', 'BUTTON_FONT'), 15, ''), background=conf.get('BUTTON', 'BUTTON_COLOR_2'))20 21 # ボタンおまとめフレーム22 button_container = tk.Frame(self, bg=conf.get('MENU', 'BG_COLOR'))23 24 # ボタン定義(追加)25 self.announce_button_register = ttk.Button(26 button_container,27 text=conf.get('BUTTON', 'BUTTON_TEXT_ADDITION'),28 style='announce1.TButton',29 command="")30 31 # ボタン定義(削除)32 self.announce_button_delete = ttk.Button(33 button_container,34 text=conf.get('BUTTON', 'BUTTON_TEXT_DELETE'),35 style='announce2.TButton',36 command="")37 38 # ボタン定義(キャンセル)39 self.announce_button_cancel = ttk.Button(40 button_container,41 text=conf.get('BUTTON', 'BUTTON_TEXT_CANCEL_KANA'),42 style='announce2.TButton',43 command=quit)44 45 # ツリービューのスタイル46 style_announce = ttk.Style()47 style_announce.configure('announce.Treeview', font=(conf.get('BUTTON', 'BUTTON_FONT'), 13))48 style_announce.configure('Treeview.Heading', background=conf.get('MENU', 'TREEVIEW_COLOR'), font=(conf.get('BUTTON', 'BUTTON_FONT'), 14))49 50 # ツリービューの作成51 self.announce_tree = ttk.Treeview(self, style='announce.Treeview')52 53 self.announce_tree["columns"] = (1, 2, 3, 4, 5)54 self.announce_tree["show"] = "headings"55 self.announce_tree.column(1, width=120)56 self.announce_tree.column(2, width=300)57 self.announce_tree.column(3, width=600)58 self.announce_tree.column(4, width=150)59 self.announce_tree.column(5, width=120)60 self.announce_tree.heading(1, text="作成日")61 self.announce_tree.heading(2, text="件名")62 self.announce_tree.heading(3, text="詳細")63 self.announce_tree.heading(4, text="記載部署")64 self.announce_tree.heading(5, text="掲載終了日")65 self.announce_tree.bind("<Double-1>", "")66 67 # スクロールバーの作成68 scrollbar = ttk.Scrollbar(self, orient="vertical", command=self.announce_tree.yview)69 70 # Jsonファイルを読み込み71 with open(conf.get('PATH', 'PATH_ANNOUNCE_JSON'), "r") as jfile :72 announce_json = json.load(jfile)73 74 for key in announce_json.keys():75 item = announce_json[key]76 77 announcement_date = item['n_announcement_date']78 title = item['n_title']79 content = item['n_content']80 described_division = item['n_division']81 posting_end_date = item['n_end_date']82 83 data = (announcement_date, title, content, described_division, posting_end_date)84 85 self.announce_tree.insert("", "end", values=data)86 87 # 各要素の表示88 self.announce_label.pack(side=tk.TOP, anchor=tk.W)89 self.announce_tree.pack(side=tk.LEFT, pady=10, fill=tk.BOTH, expand=True)90 button_container.pack(side=tk.BOTTOM, pady=10)91 self.announce_button_cancel.pack(side=tk.RIGHT, padx=5)92 self.announce_button_delete.pack(side=tk.RIGHT, padx=5)93 self.announce_button_register.pack(side=tk.RIGHT, padx=5)94 95 scrollbar.pack(side=tk.RIGHT, fill=tk.Y)96 97 # スクロールバーの高さをツリービューに合わせる98 scrollbar.configure(command=self.announce_tree.yview)99 self.announce_tree.configure(yscrollcommand=scrollbar.set)

コメントを投稿

0 コメント