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

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

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

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

Tkinter

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

Q&A

解決済

1回答

3086閲覧

Labelがウィンドウに表示されないのが、何故なのか分からない。

threeeverytwo

総合スコア49

Python 3.x

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

Tkinter

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

0グッド

0クリップ

投稿2018/03/06 10:14

前提・実現したいこと

ウィンドウにLabelを表示させたい。

該当のソースコード

python

1# -*- coding: utf-8 -*- 2 3#====================================================================== 4# ライブラリ 5#====================================================================== 6# GUIを扱う 7import tkinter 8 9#====================================================================== 10# クラス定義 11#====================================================================== 12#---------------------------------------------------------------------- 13# 14#---------------------------------------------------------------------- 15 16#====================================================================== 17# 本体処理 18#====================================================================== 19# インスタンス生成 20window = tkinter.Tk() 21 22# ウィンドウタイトルを決定 23window.title("WORDPRACTICE") 24 25# ウィンドウの大きさを決定 26window.geometry("800x600") 27 28# タイトル出力 29font = ("Helevetice", 32, "bold") 30label = tkinter.Label(window, text="WORDPRACTICE", font=font, bg="red") 31 32# プログラムを始める 33window.mainloop()

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

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

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

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

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

guest

回答1

0

ベストアンサー

■解説
原因はLabelの生成をしていますが、配置をしていないためです。

Python

1label = tkinter.Label(window, text="WORDPRACTICE", font=font, bg="red")

↓以下のように変更すればLabelが表示されます。

Python

1label = tkinter.Label(window, text="WORDPRACTICE", font=font, bg="red") 2label.pack()

配置を行う処理として pack / grid / place という処理があります。
■参考情報
[Python]Tkinter GUIアプリケーションの部品 (widgets) をウィンドウ上にどうやって配置するのだろう - 3つのジオメトリマネージャー

1,一般的にほかのGUIツールキットでも同じように、生成と配置の違いがあるため気をつけてくださいな。
2,悩んだ時はチュートリアル公式ドキュメントを参照してくださいな。

■変更後のソースコードです、ご参考まで

Python

1# -*- coding: utf-8 -*- 2#====================================================================== 3# ライブラリ 4#====================================================================== 5# GUIを扱う 6import tkinter 7 8#====================================================================== 9# クラス定義 10#====================================================================== 11#---------------------------------------------------------------------- 12# 13#---------------------------------------------------------------------- 14 15#====================================================================== 16# 本体処理 17#====================================================================== 18# main関数を追加し、スコープを切る。 19def main() -> None: 20 # インスタンス生成 21 window = tkinter.Tk() 22 # ウィンドウタイトルを決定 23 window.title("WORDPRACTICE") 24 # ウィンドウの大きさを決定 25 window.geometry("800x600") 26 27 # タイトル出力 28 font = ("Helevetice", 32, "bold") 29 label = tkinter.Label(window, text="WORDPRACTICE", font=font, bg="red") 30 # packで配置 31 label.pack() 32 # プログラムを始める 33 window.mainloop() 34 35 36if __name__ == "__main__": 37 main()

投稿2018/03/06 10:52

編集2018/03/06 10:55
umyu

総合スコア5846

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

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

threeeverytwo

2018/03/06 11:13

生成だけでなく、配置しないとダメなんですね、勉強になりました。ありがとうございました。
umyu

2018/03/06 11:18

はい、そうです。 他のGUIツールキットでも生成と配置は区別するので、気をつけてくださいな!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問