質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Q&A

2回答

2424閲覧

tkinterでチェックボタンを追加したが表示がおかしい

Henjin213

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

0グッド

0クリップ

投稿2020/04/23 07:27

プログラミング初心者です、Pythonを勉強しています、
TKinterで
チェックボックスを表示したいのですが、以下の画像のように、チェックボックスは表示され、クリックすればオン・オフになるのですが、テキスト部分が表示されません。
コードはtkinterのチュートリアルにあるものでわかりやすくするために背景を赤にして、文字色の設定を緑にしてあります。t

python

1import tkinter as tk 2 3app = tk.Tk() 4app.geometry('150x100') 5app.configure(bg="red") 6 7chkValue = tk.BooleanVar() 8chkValue.set(True) 9 10chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue, fg="green") 11chkExample.grid(column=0, row=0) 12 13app.mainloop()

チェックボックスオンのときの画像
環境:
MacOS Catalina10.15.4
Python 3.7.7

よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nasudeng

2020/04/23 09:52 編集

windows 環境(python 3.8.0)で試しましたが、チェックボックスの横にテキストが表示されました。 「fg="green"」、を消しても文字列は表示されませんか?
guest

回答2

0

おはようございます。

問題文読ませていただきました。

teamiklさんのご指摘通り、tkinter8.5系だとうまくいかないようです。筆者のMac環境、tkinter8.6系で試したところ、うまく表示されました。

こちら確認のため、コードを記述します。

python

1import tkinter as tk 2 3# Windowを描画する。 4app = tk.Tk() 5# Windowの画面サイズを設定する。 6# geometryについて : https://kuroro.blog/python/rozH3S2CYE0a0nB3s2QL/ 7app.geometry('150x100') 8# 背景色を変更する。 9# 色の設定を変更する場合 : http://www.tcl.tk/man/tcl/TkCmd/colors.htm 10app.configure(bg="red") 11 12# booleanを表す変数を用意する。 13# Booleanについて : https://kuroro.blog/python/K53voPjJuKFfYrjmP8FP/ 14chkValue = tk.BooleanVar() 15chkValue.set(True) 16 17# Windowを親要素として、checkbutton Widgetを作成する。 18# text : テキスト情報 19# var : チェックボックスの値をchkValue変数へ格納するように設定 20# fg : 文字色を設定 21# Checkbuttonについて : https://kuroro.blog/python/gspi4F2pMIkzHN7l0f1F/ 22chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue, fg="green") 23# Windowを親要素として、checkbutton Widgetをどのように配置するのか? 24# gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/ 25chkExample.grid(column=0, row=0) 26 27# Windowをループさせて、継続的にWindow表示させる。 28# mainloopについて : https://kuroro.blog/python/DmJdUb50oAhmBteRa4fi/ 29app.mainloop()

ご確認のほど、よろしくお願いいたします。????‍♂️

投稿2021/06/12 01:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

同じ症状でしょうか。brew 版の tkinter で同様の報告がありました。

I finally get this issue resolved. The root cause is python3 is using the outdated tcl/tk lib comes with MacOS if you install python3 via homebrew.

You can check the tcl/tk version by following command:

python3 -c "import tkinter; print(tkinter.TkVersion)"

If it shows "8.5", then you will find that button text is invisible. Because Python3 only works fine with tcl/tk 8.6 on MacOS.

To resolve the issue, you need to uninstall brew version, download and install the official python3 package from python.org.

Then you could run upper tkinter version checking command again, if you get "8.6", the issue is resolved.


使われている tcl/tk のバージョンの確認

python

1import tkinter 2print(tkinter.TkVersion)

もしくは端末でコマンドを打って確認

python3 -c "import tkinter; print(tkinter.TkVersion)"

"8.5" の場合、該当の問題が起こるようです。

解決策として提示されているのは、

  • brew版をアンインストールして、python.org より公式のパッケージをインストール。

再度確認して、"8.6" になっていれば解決するはずです。

投稿2020/04/23 15:40

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問