0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonを基礎から学ぶその5 デスクトップのアプリを作るその2

Last updated at Posted at 2024-12-17

この記事は、JavaとPythonを基礎から学びたい私のための Advent Calendar 2024の17日目の記事です。
昨日の続きです。遅くなりました
tkinterを使ってアプリを制作する続きです。

ラベルの位置を変更する

ラベルを出すだけなら

label=tk.Label(text='文字が出ました')
label.pack()

で文字を出せました。このラベルの位置は、さまざまなやり方で変更できるみたいです。

上下左右につける

label.pack(side=tk.TOP)

こんな感じで、side=tk.○○のような書き方をするとラベルがその位置で表示されます。それぞれこんな感じでした。

場所 書くもの
TOP
BOTTOM
LEFT
RIGHT

この四つで場所を指定できるみたいです。すべて端によります。真ん中はありませんでした。

placeを使う

label.place(x=100,y=200)

こんな感じでxとyを使ってラベルの位置を変えることができます。先ほどのものと違って、細かい場所の指定ができるため、使い勝手がいいです。

gridを使う

gridを使って文字の列、行を指定して出すことができるようです。

A=tk.Tk()
A.geometry("200x300")
A.title("アプリもどき")
label=tk.Label(text='場所が変わりました',foreground='#00fa9a')
label.grid(row=1,column=1)
label2=tk.Label(text='文字が出ました',foreground='#00fa9a')
label2.grid(row=0,column=0)
A.mainloop()

「場所が変わりました」の文字がちょっと移動します。rowは行、columnは列です。上のものでは端から1ずつ動いています。

anchorを使う

調べた結果このやり方もあるそうなのです。いろいろ種類があるようですが、右下とか中央とかを選んでもどうしても一番上に寄ってしまいました。ただ、左右には動いてくれます。参考程度に見てください。

label.pack(anchor=tk.W)

label.packのほうの()内に書くことで、動くようです。

向き 必要な文字
N
S
W
E
右上 NE
右下 SE
左上 NW
左下 SW
中央 CENTER

端から少し移動させたいとき

padyとかいうものを使うことで、端からちょっとだけ動かすことができるみたいです。padxとpadyなるものがあるようです。
例えば先ほどのsideで位置を指定した後にpadyを使って

label.pack(side=tk.TOP,pady=200)

とすると、sideで本来一番上段真ん中に表示されるものがpadyで指定した分だけ下に移動しました。
padxは指定した分だけ横に移動します

image.png

ほかにもやり方があるみたいですが、上のやり方だけ覚えておけばとりあえずラベルの位置を設定できるでしょう。

ラベルの色や大きさなどを変える

ラベルの文字の色、大きさを自由に変えることができるみたいです。

色を変える

foregroundを使うことで色の変更が可能なようです。
textの横に書くみたいです。ライトな緑色にしてみます。

label=tk.Label(text='文字が出ました',foreground='#00fa9a')

上の画像のように、緑色の文字に代わります。
ところで、=の右側の数字とアルファベット小文字の羅列は色コードです。
下のサイトなどを参考にするのがいいと思います

フォントと大きさを変える

文字のフォントと大きさは一緒に指定するようです。

label=tk.Label(text='文字が出ました',foreground='#00fa9a',font=('Roman',18))

font=(フォント名,フォントの大きさの数値)で記載するようです。フォントは大量にありますが日本語に対応していないものもあるので注意してください。ちなみに上のコードをそのまま使うと3文字くらい出ませんでした。

ボタンを付ける

文字を出すだけでなく、いろいろ追加できるみたいです。とりあえず今日はボタンだけつけておきます。

button=tk.Button(text='何も起こらない')
button.pack(padx=50,pady=30)

ボタンの文字を選択して、位置を決めるだけです。文字と同じく、位置を指定しないと上段中央になります。
ちょっと昔のwebサイトとかでよく見かけるボタンになりました

まとめ

文字は位置、フォントや文字サイズなどを細かく指定することができる。
ボタンも文字と同様にいろいろ指定することができる。

参考文献

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?