質問編集履歴
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -388,7 +388,7 @@
|
|
388
388
|
|
389
389
|
まず、Pythonのtkinterで二つのボタンを作成し、
|
390
390
|
|
391
|
-
片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにし
|
391
|
+
片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにしようと思いましたが、これもうまくいきませんでした
|
392
392
|
|
393
393
|
|
394
394
|
|
@@ -396,7 +396,7 @@
|
|
396
396
|
|
397
397
|
それぞれのボタンを条件によって、buttonFri.pack_forget()で非表示にしたいので、
|
398
398
|
|
399
|
-
変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたい
|
399
|
+
変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたらうまくいくかと思ったのですが、だめでした
|
400
400
|
|
401
401
|
単純に=で入れたら(たぶん)文字列になってしまって、buttonFri.pack_forget()されない
|
402
402
|
|
1
まずは退勤ボタンの部分だけ考えてみようと思って、追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -382,6 +382,120 @@
|
|
382
382
|
|
383
383
|
|
384
384
|
|
385
|
+
###追記・試したこと
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
まず、Pythonのtkinterで二つのボタンを作成し、
|
390
|
+
|
391
|
+
片方は金曜日のみ表示されるボタン、もう片方は金曜日以外の日にのみ表示されるボタンにし用と思いましたが、これもうまくいきませんでした
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
calenderとdatetimeを使って、ifで、金曜日かそれ以外かを判断する
|
396
|
+
|
397
|
+
それぞれのボタンを条件によって、buttonFri.pack_forget()で非表示にしたいので、
|
398
|
+
|
399
|
+
変数switchBtnFri、switchBtnNoFriを作って、そこにbuttonFri.pack_forget()の処理を入れたい
|
400
|
+
|
401
|
+
単純に=で入れたら(たぶん)文字列になってしまって、buttonFri.pack_forget()されない
|
402
|
+
|
403
|
+
どうしたらいいでしょうか?
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
```test.py
|
408
|
+
|
409
|
+
|
410
|
+
|
411
|
+
import tkinter as tk
|
412
|
+
|
413
|
+
import calendar
|
414
|
+
|
415
|
+
import datetime
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
'''
|
420
|
+
|
421
|
+
曜日判定
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
月 火 水 木 金 土 日
|
426
|
+
|
427
|
+
0 1 2 3 4 5 6
|
428
|
+
|
429
|
+
'''
|
430
|
+
|
431
|
+
|
432
|
+
|
433
|
+
#曜日を用意
|
434
|
+
|
435
|
+
switchBtnFri = ""
|
436
|
+
|
437
|
+
switchBtnNoFri = ""
|
438
|
+
|
439
|
+
weekday = datetime.date.today().weekday()
|
440
|
+
|
441
|
+
#print(weekday)
|
442
|
+
|
443
|
+
if weekday == 4:
|
444
|
+
|
445
|
+
#print("今日は金曜です")
|
446
|
+
|
447
|
+
switchBtnFri = ""
|
448
|
+
|
449
|
+
switchBtnNoFri = "buttonNoFri.pack_forget()"
|
450
|
+
|
451
|
+
else:
|
452
|
+
|
453
|
+
#print("金曜以外")
|
454
|
+
|
455
|
+
switchBtnFri = "buttonFri.pack_forget()"
|
456
|
+
|
457
|
+
switchBtnNoFri = ""
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
#windowを表示
|
462
|
+
|
463
|
+
root = tk.Tk()
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
#金曜日のボタン
|
468
|
+
|
469
|
+
buttonFri = tk.Button(root, text='金曜日のボタン')
|
470
|
+
|
471
|
+
buttonFri.pack()
|
472
|
+
|
473
|
+
#buttonFri.pack_forget() # この文を直接書けばボタンは非表示になる
|
474
|
+
|
475
|
+
switchBtnFri # が、変数switchBtnFriにbuttonFri.pack_forget() を代入?してボタンを消したいが、文字列として代入されてしまう?
|
476
|
+
|
477
|
+
print(switchBtnFri) #コンソールにbuttonFri.pack_forget()が出力されるので、switchBtnFriにbuttonFri.pack_forget()は入っていそうなのに、ボタンが非表示になるわけではない→文字列として代入されているのかな?だから非表示にならないのかな?
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
#金曜日以外のボタン
|
482
|
+
|
483
|
+
buttonNoFri = tk.Button(root, text='金曜日以外のボタン')
|
484
|
+
|
485
|
+
buttonNoFri.pack()
|
486
|
+
|
487
|
+
switchBtnNoFri #この変数も同じ
|
488
|
+
|
489
|
+
|
490
|
+
|
491
|
+
root.mainloop()
|
492
|
+
|
493
|
+
```
|
494
|
+
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
|
385
499
|
|
386
500
|
|
387
501
|
|