質問編集履歴
2
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -193,11 +193,11 @@ | |
| 193 193 | 
             
            ###追記・試したこと
         | 
| 194 194 |  | 
| 195 195 | 
             
            まず、Pythonのtkinterで二つのボタンを作成し、
         | 
| 196 | 
            -
            片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにし | 
| 196 | 
            +
            片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにしようと思いましたが、これもうまくいきませんでした
         | 
| 197 197 |  | 
| 198 198 | 
             
            calenderとdatetimeを使って、ifで、金曜日かそれ以外かを判断する
         | 
| 199 199 | 
             
            それぞれのボタンを条件によって、buttonFri.pack_forget()で非表示にしたいので、
         | 
| 200 | 
            -
            変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたい
         | 
| 200 | 
            +
            変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたらうまくいくかと思ったのですが、だめでした
         | 
| 201 201 | 
             
            単純に=で入れたら(たぶん)文字列になってしまって、buttonFri.pack_forget()されない
         | 
| 202 202 | 
             
            どうしたらいいでしょうか?
         | 
| 203 203 |  | 
1
まずは退勤ボタンの部分だけ考えてみようと思って、追記しました
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -190,9 +190,66 @@ | |
| 190 190 |  | 
| 191 191 | 
             
            ```
         | 
| 192 192 |  | 
| 193 | 
            +
            ###追記・試したこと
         | 
| 193 194 |  | 
| 195 | 
            +
            まず、Pythonのtkinterで二つのボタンを作成し、
         | 
| 196 | 
            +
            片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにし用と思いましたが、これもうまくいきませんでした
         | 
| 194 197 |  | 
| 198 | 
            +
            calenderとdatetimeを使って、ifで、金曜日かそれ以外かを判断する
         | 
| 199 | 
            +
            それぞれのボタンを条件によって、buttonFri.pack_forget()で非表示にしたいので、
         | 
| 200 | 
            +
            変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたい
         | 
| 201 | 
            +
            単純に=で入れたら(たぶん)文字列になってしまって、buttonFri.pack_forget()されない
         | 
| 202 | 
            +
            どうしたらいいでしょうか?
         | 
| 195 203 |  | 
| 204 | 
            +
            ```test.py
         | 
| 205 | 
            +
             | 
| 206 | 
            +
            import tkinter as tk
         | 
| 207 | 
            +
            import calendar
         | 
| 208 | 
            +
            import datetime
         | 
| 209 | 
            +
             | 
| 210 | 
            +
            '''
         | 
| 211 | 
            +
            曜日判定
         | 
| 212 | 
            +
             | 
| 213 | 
            +
            月 火 水 木 金 土 日
         | 
| 214 | 
            +
            0 1 2 3 4 5 6
         | 
| 215 | 
            +
            '''
         | 
| 216 | 
            +
             | 
| 217 | 
            +
            #曜日を用意
         | 
| 218 | 
            +
            switchBtnFri = ""
         | 
| 219 | 
            +
            switchBtnNoFri = ""
         | 
| 220 | 
            +
            weekday = datetime.date.today().weekday()
         | 
| 221 | 
            +
            #print(weekday)
         | 
| 222 | 
            +
            if weekday == 4:
         | 
| 223 | 
            +
                #print("今日は金曜です")
         | 
| 224 | 
            +
                switchBtnFri = ""
         | 
| 225 | 
            +
                switchBtnNoFri = "buttonNoFri.pack_forget()"
         | 
| 226 | 
            +
            else:
         | 
| 227 | 
            +
                #print("金曜以外")
         | 
| 228 | 
            +
                switchBtnFri = "buttonFri.pack_forget()"
         | 
| 229 | 
            +
                switchBtnNoFri = ""
         | 
| 230 | 
            +
             | 
| 231 | 
            +
            #windowを表示
         | 
| 232 | 
            +
            root = tk.Tk()
         | 
| 233 | 
            +
             | 
| 234 | 
            +
            #金曜日のボタン
         | 
| 235 | 
            +
            buttonFri = tk.Button(root, text='金曜日のボタン')
         | 
| 236 | 
            +
            buttonFri.pack()
         | 
| 237 | 
            +
            #buttonFri.pack_forget()   #  この文を直接書けばボタンは非表示になる
         | 
| 238 | 
            +
            switchBtnFri  # が、変数switchBtnFriにbuttonFri.pack_forget() を代入?してボタンを消したいが、文字列として代入されてしまう?
         | 
| 239 | 
            +
            print(switchBtnFri) #コンソールにbuttonFri.pack_forget()が出力されるので、switchBtnFriにbuttonFri.pack_forget()は入っていそうなのに、ボタンが非表示になるわけではない→文字列として代入されているのかな?だから非表示にならないのかな?
         | 
| 240 | 
            +
             | 
| 241 | 
            +
            #金曜日以外のボタン
         | 
| 242 | 
            +
            buttonNoFri = tk.Button(root, text='金曜日以外のボタン')
         | 
| 243 | 
            +
            buttonNoFri.pack()
         | 
| 244 | 
            +
            switchBtnNoFri  #この変数も同じ
         | 
| 245 | 
            +
             | 
| 246 | 
            +
            root.mainloop()
         | 
| 247 | 
            +
            ```
         | 
| 248 | 
            +
             | 
| 249 | 
            +
             | 
| 250 | 
            +
             | 
| 251 | 
            +
             | 
| 252 | 
            +
             | 
| 196 253 | 
             
            ### 補足情報(FW/ツールのバージョンなど)
         | 
| 197 254 | 
             
            OS windows10
         | 
| 198 255 | 
             
            Python 3.9
         | 
