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

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

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

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

Tkinter

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

Q&A

解決済

2回答

10622閲覧

[Python3] tkinterでButtonに表示する文字が表示されない(Mac)

Express99

総合スコア21

Python 3.x

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

Tkinter

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

0グッド

0クリップ

投稿2019/03/07 15:08

編集2019/03/07 16:50

前提・実現したいこと

初めて質問させていただきます。
最近Pythonを始めた初心者です。
今インターネットを参考にしながらPythonでtkinterを使ってソフトを開発しようとしています。

発生している問題・エラーメッセージ

tkinterのButtonに表示する文字が表示されなく、困っています。
(ボタンは表示されて押すことができます。)
tkinterの他の機能(画面の表示、タイトル、ラベル、テキストボックス、テキストボックスの文字を表示、だけしかまだ試していませんが...)は問題ありません。
イメージ説明

エラーメッセージは表示されず、実行できます。

該当のソースコード

Python

1#!/usr/bin/env python 2# -*- coding: utf8 -*- 3import sys 4import tkinter 5 6root = tkinter.Tk() 7root.title("Software Title") 8root.geometry("400x300") 9 10#ボタン 11Button = tkinter.Button(text='ボタンです') #この「ボタンです」の文字が表示されません 12Button.pack() 13 14root.mainloop()

試したこと

「ボタンです」の文字が日本語なので、英語「abc」や数字「123」のみで試してみましたが、これも表示されませんでした。
また、''を””に変えてみましたが、これも変化なしでした。(意味が無いのは分かっていましたが、一応試しました。)

Button = tkinter.Button(text='ボタンです')をButton = tkinter.Button(root,text='ボタンです')のようにtextの前にrootというウィンドウID?を追加してみても無理でした。

ちなみにWindowsで同じプログラムを実行したところ正常に動作しました。(ボタンに文字が表示された)

補足情報(FW/ツールのバージョンなど)

MacOS Mojave バージョン 10.14.3
Python バージョン 3.7.1

Windows10 Python バージョン 3.7.2
テキストエディタはVisual Studio Codeを使用しています。

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

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

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

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

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

guest

回答2

0

ベストアンサー

私もMacで同様の現象が起きました。
こちら、tkinterのバグらしいです。。。

対応としては、おっしゃるとおり、ウィンドウサイズを1度変えると良いようなので、下記の処理を加えれば対症的ですが、なんとかなるかと。

python

1def fix(): 2 a = root.winfo_geometry().split('+')[0] 3 b = a.split('x') 4 w = int(b[0]) 5 h = int(b[1]) 6 root.geometry('%dx%d' % (w+1,h+1)) 7root.update() 8root.after(0, fix)

参照:
https://stackoverflow.com/questions/52529403/button-text-of-tkinter-not-works-in-mojave

投稿2019/04/14 12:19

編集2019/04/14 12:21
osasai

総合スコア20

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

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

Express99

2019/04/16 10:39

解決しました!有難うございます。 これはtkinterのバグだったのですね。なるべく早く修正して頂きたいものです...
guest

0

完全には解決していませんが、一応ボタンに文字を表示させることができたのでここに残しておきます。
1.私はMacの外観モードを「ダーク」にしていたので、「ライト」に変更。
2.次に該当のプログラムを実行します。
3.現れたウィンドウをリサイズするとボタンに文字が表示されるようになりました。

以上の方法で表示は可能ですが、ウィンドウを表示させるたびにリサイズしないといけないのであまり現実的な方法ではありません。

リサイズしなくても、またダークモードでもボタンに文字を表示できる方法があれば教えていただきたいです。

投稿2019/03/07 17:48

Express99

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問