1. HOME
  2. ブログ
  3. IT技術
  4. 【Python】Tkinterで簡易的な電卓作ってみた!
【Python】Tkinterで簡易的な電卓作ってみた!

【Python】Tkinterで簡易的な電卓作ってみた!

Python で簡易的な電卓作りに挑戦!

誰もが使ったことがあるであろう「電卓」。

実は、Python で簡単に作れるんです。

Python で GUI を作成する場合、「規則的なボタンの配列」や「内部的な処理が簡単」な電卓は、とても学習しやすいテーマ!

ぜひ、GUI ライブラリ学習の一歩として、一緒に電卓を作ってみましょう!

こちらの記事もオススメ!


Tkinter とは?

Tkinter」は、Python のモジュールの一つです。

デスクトップ向けアプリを作成する際に使われるもので、ボタンやエディタなどの部品「Widgit」を使って、GUI アプリを実装することができます。

ちなみに、Python でデスクトップアプリを作成する場合、他にも以下のようなライブラリがあります。

  1. Kivy
  2. wxPython
  3. PyQt

今回は、主要かつ手軽に扱えることから、「Tkinter」での実装を行います。

Tkinter を扱うことのメリット

Tkinter の最大の特徴は、主要な OS に対応していることです。

そのため、ユーザーの OS を気にしなくて済む、クロスプラットフォームな GUI ライブラリなのです。

さらに、OS が Linux なら、ほとんどの場合 Python が標準搭載されているため、ソースコードを渡すだけで使えます。

Tkinter の導入方法

それでは、さっそく Tkinter を導入しましょう!

Python のインストール

Python のインストールは公式サイトから簡単にインストールできますよ。

【Python 公式サイト】
https://www.python.org/downloads/

インストールが済んだら、コマンドで一度、確認してみましょう。

ライブラリのインストール

そうしたら、標準搭載の Tkinter を確認してみましょう!

正しくインストールされていれば、ポップアップが表示されます。

【実装例】 Tkinter で簡易的な電卓を!

さて、次は、実際に Tkinter を使って簡易的な電卓を作っていきましょう!

基本的な「Tkinter」の Window を作成

まず、基本的な空の Window だけ作ってみましょう。

以下の画像が、空の Window の実装例です。

基本的な「Tkinter」の Window を作成

以下が、今回の実装例のコードです。

このコードは、以下の処理を行っています。

ライブラリのインポート

Python3.x では「tkinter」と全て小文字で書きます。

ウィンドウを作成し、タイトルやサイズを設定

メインループの実行

拡張子「.py」で実行されているか判断

このコードを基本として、部品を組み合わせていくことで、デスクトップアプリケーションを作成していくことができます!

簡易的な電卓の作成

GUI を作成するにあたって、重要なポイントは「デザイン」です。

今回は、以下のようなデザインで作成していきます。

簡易的な電卓の作成

以下が、今回の実装例のコードです。

このコードは、以下の処理を行っています。

ライブラリのインポート

ボタンの配置や記号を定義

画面上に部品を設置する Frame を作成

ttk モジュールを用いて、Frame のサイズや余白を設定します。

作成した Frame に部品を配置

Tkinter のモジュール「StringVar」を使い、計算式や計算結果を動的に挿入するための変数を作成します。

さらに、Label や Buttonの配置を行います。

Tkinter のイベント処理「bind」を使い、クリックされた時の処理も定義しましょう。

button がクリックされた時の処理を定義

まず、どの button が押されたことをチェックします。

押された button が記号であるかなどの条件によって、それぞれに適した処理を設定します。

関数 'eval'

今回、計算で使っている関数が 'eval' とよばれる関数です。

普段使っている、print 関数を使って以下のように書いてみましょう。

クォーテーションの中に書かれた文字列をそのまま出力したはずです。

しかし、'eval' 関数を使って以下のように書いてみましょう。

クォーテーションの中の文字列を計算式として、認識し、計算結果を出力します。

さいごに

「GUI 作成なら、Python よりもっと使いやすい言語があるじゃん…」と思う人も多いでしょう。

しかし、Python の特徴である「記述のしやすさ」「充実したライブラリ」は、様々な機能の拡張がしやすいといったメリットもあるんです。

Python や GUI 開発に興味がある人は、ぜひ一度試してみてくださいね!

記事を書いた人

\ 3度のメシより技術が好き /
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
システム開発依頼・お見積もりはこちらまでお願いします。
また、WEB・スマホ系エンジニアを積極採用中です!
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

こちらの記事もオススメ!


ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

ライトコードメディア編集部
ライトコードメディア編集部
「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。

関連記事

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界はお前の手の中に・・・ /

モバイルエンジニア

\ サービスの守り神! /

インフラエンジニア

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

初心者が3ヶ月でどれくらいプログラミングができるようになるのか