オタブロ > IT知識 > Python > 【Python】GUI画面を作ってみよう(メニュー、ボタン配置編)

【Python】GUI画面を作ってみよう(メニュー、ボタン配置編)

IT知識

今回はPythonでGUI画面画面にメニューの作成とボタンの位置を変える方法を紹介していきます。

PythonでGUI画面を作りたい方や、プログラミングを勉強している方におすすめの記事となっています。

前回の画面とボタン作成についての記事はこちらです。

【Python】GUI画面を作ってみよう(画面、ボタン編)
今回はPythonでGUIの画面と画面内のボタンを作る方法について紹介します。画面とボタンだけなのでそこまですごいものは作りませんが、この記事で作ったものから自分で機能を追加していけば、すごいGUIアプリが作れるかもしれないですね。Pyth

Pythonを扱っているプログラミングスクールをお探しの方は、転職サポートやオンライン特化が魅力的なテックアカデミーがおすすめです。

スポンサーリンク

前回のコード

前回のコードはこちらです。画面を作成してボタンを配置しています。本記事からGUI画面を作成し始めた方は、こちらからコピペでOKです。

import tkinter as tk

#TKインスタンスを作成
gui = tk.Tk()

#画面サイズを指定
gui.geometry('400x400')
#画面タイトルを指定
gui.title('GUIapp')

#ボタンを画面上に作成
button = tk.Button(
    gui, text='button').pack(side=tk.TOP)

#画面の状態を維持
gui.mainloop()

ボタンの位置を変えるメソッド

前回の記事でボタンを配置する「pack()」を紹介し、pack(side=tk.TOP)でボタンを画面の上部に表示させていました。

本記事では「place()」に変えてボタンを表示させてみます。ボタンを作成しているところを以下の様に変えてみましょう。

    gui, text='button').pack(side=tk.TOP)

↓↓

    gui, text='button').place(x=0, y=0)

これで上部真ん中のボタンが左上に表示されたと思います。

    gui, text='button').place(x=400, y=400)

x=400, y=400にするとこんな感じで右下に移動します。place()を使えば臨機応変にボタンの位置が返られます。

メニューを追加する

画面にメニューを追加するため、以下のコードを書いていきます。

#Menuオブジェクト作成
menubar = tk.Menu(gui)

#menubarを設定
gui.config(menu=menubar)

「menubar = tk.Menu(gui)」でオブジェクトを作成し、「gui.config(menu=menubar)」のmenuオプションで「menubar」をメニューバーとして設定します。

続いて以下のコードを追加します。

#Menuオブジェクト生成  tearoff=0で切り取り線非表示
guimenu = tk.Menu(menubar,tearoff=0)

#「ファイル」をメニューバーに追加
menubar.add_cascade(label = "ファイル", menu = guimenu)

#「ファイル」のメニューに「開く」を追加
guimenu.add_command(label='開く') 

上から順に説明すると

「guimenu = tk.Menu(menubar,tearoff=0)」でMenuオブジェクトを作成し「tearoff=0」で切り取り線を非表示にしています。

「menubar.add_cascade(label = "ファイル", menu = guimenu)」ではメニューに「ファイル」というメニューを追加しています。

「guimenu.add_command(label='開く')」では「ファイル」をクリックした際に「開く」という表示がされるように設定しています。

ちなみに「tk.Menu」で「tearoff=0」がないとこんな感じの切り取り線が表示されます。

「tearoff=0」があるとこんな感じ↓↓

全体コード

こちらがここまでの全体コードになります。今後もPythonに関する記事を上げていきますので、これからもぜひご覧ください。

import tkinter as tk

#TKインスタンスを作成
gui = tk.Tk()

#画面サイズを指定
gui.geometry('400x400')
#画面タイトルを指定
gui.title('GUIapp')

#ボタンを画面上に作成
button = tk.Button(
    gui, text='button').place(x=0, y=0)

#menuオブジェクト作成
menubar = tk.Menu(gui)

#menubarを設定
gui.config(menu=menubar)

#Menuオブジェクト生成  tearoff=0で切り取り線非表示
guimenu = tk.Menu(menubar,tearoff=0)

#「ファイル」をメニューバーに追加
menubar.add_cascade(label = "ファイル", menu = guimenu)

#「ファイル」のメニューに「開く」を追加
guimenu.add_command(label='開く') 

#画面の状態を維持
gui.mainloop()

最後までご覧いただきありがとうございました。

タイトルとURLをコピーしました