8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python+TKinterでWindowsアプリケーション作ってみたかった

Posted at

はじめに

タイトルの通りですが、C#とかで作ったことはあるけどPythonでも作れるというのは知らなかったので試しに作ってみただけの記事になります。
詳しい記事はたくさんありますが、自分用のメモ書き程度に記事にしたいなと思います。
やることとしては
・Pythonや、TKinterのインストール
・コード書く
・えんじょい
インストール系は省きます。

書いてみる

とりあえずウィンドウを出してみます。以下のコードを記載して実行

import tkinter as tk
from tkinter.constants import END
import webbrowser

# ウィンドウの初期化
root = tk.Tk()
root.geometry("300x200")
root.title("てすと")

# ウィンドウ表示
root.mainloop()

image.png
いつも思いますが起動してタイトルに自分の決めた文字が表示されるとちょっと楽しくなりますよね。私だけでしょうか。
root.geometryで初期ウィンドウサイズをピクセル単位で指定することができるようです。
root.titleで文字通りタイトルの設定。
root.mainloopで表示って形ですかね。
シンプルに考えておいた方がプログラミングは楽しいです。
楽観的なので行き詰ってから考えましょう。

次にボタンを設置してみます。
初期化とウィンドウ表示の間に書きます。

# メインフレーム作って置く
frame = tk.Frame(root)
frame.pack(fill = tk.BOTH,padx=50,pady=30)

# ボタンのテキスト
text = tk.StringVar(frame)
text.set("絶対に押すな")

# ボタン定義
button = tk.Button(frame,textvariable=text)
button.pack()

実行すると、、、
image.png
ボタンが表示されました。
フレーム作ってその上にボタンを置いて、ボタンに書かれているテキストを定義する必要があるみたいです。
詳しい事は分かってません(うごきゃいい)
「絶対に押すな」と書かれてますが、押しても何も起きません。
処理を追加してみます。

import webbrowser

def openweb():
    webbrowser.open("https://allabout.co.jp/matome/cl000000015018/")

~~~ 中略
button = tk.Button(frame,textvariable=text,command=openweb)

image.png
もちろんですが見た目は変わらないですね。
ボタンを押してみます。
image.png
猫ちゃんの可愛い画像まとめサイトに行きました。
これで仕事出来なくなりますね。
押した罰です。

終わりに

Pythonは最近よく使われていると思うので楽しみながらかつ、勉強がてらいいかなと思って作ってみました。
今回はボタンを設置するにしても全部コードで書きましたが、GUIでデザインできる「PAGE」というツールがあるようなので、
それを使って少し凝ったアプリを作ってみようと思います。

参考にした記事・サイト様・ギルティ

8
4
0

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
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?