前提・実現したいこと
【Python】tkinterとwebbrowserで作る出退勤アプリのGUIを変更したい。
昨日、
こちら記事 (tkinterとwebbrowserでデスクトップアプリを作成しよう(初心者向け) Python)
を見つけて、初めてPythonをやってみようと思い立ったのですが、ボタンの大きさと配置が気に入りません。
添付画像の左が現実で、理想が右です。
forで生成されているボタンの、特定のものだけ大きさと配置を変えたいのですが、可能でしょうか?
2番目と3番目のボタン(休憩ボタン)だけ幅を狭めて、横並びにしたいです。
該当のソースコード
Python
1import pyperclip 2import tkinter 3import webbrowser 4import calendar 5 6 7''' 8曜日判定 9 10月 火 水 木 金 土 日 110 1 2 3 4 5 6 12''' 13 14#曜日を用意 15import datetime 16WD = "" 17weekday = datetime.date.today().weekday() 18#print(weekday) 19if weekday == 4: 20 print("今日は金曜です") 21 WD = "※今日は金曜です※" 22else: 23 print("金曜以外") 24 WD = "" 25 26#曜日判定ここまで 27 28 29class ShortCutButton(tkinter.Button): 30 ''' 31 登録したurlをブラウザで開くボタンを生成 32 clipwordを登録すると、登録した文字をクリップボードにコピー(任意) 33 ''' 34 35 def __init__(self, title, url, clipword=None, master=None): 36 super().__init__(master, width=15, text=title, command=self.button_clicked) 37 self.url = url 38 self.clipword = clipword 39 40 def button_clicked(self): 41 if self.clipword: 42 pyperclip.copy(self.clipword) # clipwordをコピー 43 44 if self.url: 45 webbrowser.open(self.url) # urlをブラウザで開く 46 47 48if __name__ == '__main__': 49 #ボタン、url、コピーする文字列のリスト 50 word_list = [ 51 [ 52 "出勤", 53 "https://mail.google.com/mail/", 54 "おはようございます\n出勤いたします\n本日もよろしくお願いいたします" 55 ], 56 [ 57 "in休憩", 58 "https://mail.google.com/mail/", 59 "お疲れ様です(bow)\n休憩いただきます。" 60 ], 61 [ 62 "out休憩", 63 "https://mail.google.com/mail/", 64 "只今休憩より戻りました。" 65 ], 66 [ 67 "退勤", 68 "https://mail.google.com/mail/", 69 "おつかれさまです\n退勤いたします\n明日もよろしくお願いいたします" 70 ], 71 [ 72 "退勤(金)", 73 "https://mail.google.com/mail/", 74 "退勤いたします\n\n来週もよろしくお願いいたします" 75 ], 76 ] 77 78 root = tkinter.Tk() 79 80 root.title('お時間ですよ') 81 root.geometry('500x300+500+300') 82 83 message = tkinter.Message(root, text=WD, font=( 84 "MyricaM M", 20), fg='#ff0000', width=500) 85 message.pack(fill=tkinter.BOTH) 86 87 #ボタンを生成 88 #ここで生成される5つのボタンのうち、2つめと3つめのボタンだけサイズと配置を変えたい 89 for info in word_list: 90 button = ShortCutButton(*info) 91 button.config(bg='#F0F8FF') 92 button.pack(expand=1, fill=tkinter.BOTH, padx=10, pady=10) 93 root.mainloop() 94
試したこと
調べてみたところ、左右にボタンを配置するのは、
button.pack(side=tk.LEFT)
button.pack(side=tk.RIGHT)
というのが出てきたのですが、具体的にどこをどう変更したらいいのかが検討つきません。
補足情報(FW/ツールのバージョンなど)
OS windows10
Python 3.9
vscodeで書きました
不足情報があれば、ご指摘お願いします
わかる範囲で捕捉します
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/28 08:30