Ubuntu Weekly Recipe

第193回 Quiclkyで簡単にGUIアプリケーションを作る

この記事を読むのに必要な時間:およそ 4 分

少し遡ること9月26日,アプリケーション開発者向けのサイト"Ubuntu App Developerサイト"が正式公開されました。これはUbuntuでアプリケーションやゲームを開発し,さらにはSoftware Centerでそれを公開したいと考えるユーザー向けに,ツールキットやUbuntu特有のプロセスに関する情報を提供するサイトです注1)⁠

今回はUbuntu App Develperサイトでアプリケーション開発ツールの一つとして紹介されている「Quickly」を使って,簡単なGUIアプリケーションを作ってみます。

注1)
Software Centerで商用ソフトウェアを配布する手順なども記載されています

Quicklyの使い方

Quicklyとは

Quicklyとは,Pythonベースのアプリケーションテンプレートと,そのテンプレートを元に効率的に開発するためのツールです。コマンドをいくつか入力するだけで,簡単にGUIアプリケーションのひな形の作成からLaunchpadでのプロジェクト公開までを「素早く」行えます。

百聞は一見に如かずということで,まずはQuicklyをインストールしてアプリケーションを作ってみましょう。端末を開いて以下のコマンドを入力してください注2)⁠最後のコマンドについては,後ほど説明します。

$ sudo apt-get update
$ sudo apt-get install quickly
$ quickly create ubuntu-application uwr-sample

これだけで,uwr-sampleディレクトリ以下に必要なソースコードやリソースが展開されて,一通り必要なUIが実装されたアプリケーションが起動されます。

図1 ひな形を起動したところ

図1 ひな形を起動したところ

Quicklyの中身はただのPythonスクリプトであり,一度ひな形を作ったあとの作業は以下の各種コンポーネントを組み合わせて開発していくことになります。

そのため,アプリケーション開発には,PythonとGTK+に関する基本的な知識が必要です。ただし,図1のように最初の段階で必要最低限「動くもの」が自動生成されますので,あとはトライアンドエラーを繰り返しながら実装を行うといった,Python/GTKを使ったGUIアプリケーションの学習にも使えます。

なお,Quicklyが生成するアプリケーションは,PyGTK/Glade2を使います。このため,GTK+2.xベースになってしまうことに注意してください。Ubuntu 11.10では本格的にGTK+3への移行が進んでいますので,Quicklyも12.04ではPyGI/Glade3に対応したGTK+3ベースのアプリケーションを開発できるようになる予定です

注2)
インストールはSoftware Centerを使ってもかまいません。いずれにせよ,いろいろな開発ツールも一緒にインストールされるため,けっこうな時間がかかるはずです。
注3)
環境変数QUICKLY_EDITORを設定することで変更可能です。

Quicklyコマンドについて

先ほど実行したコマンドについて説明します。以下は,アプリケーションの「最初のひな形」を作成するためのコマンドです。

$ quickly create ubuntu-application uwr-sample

"ubuntu-application"はテンプレート名で,"uwr-sample"はアプリケーション名です。テンプレートには以下のようなものを指定できます。

  • ubuntu-application
    • 一般的なGUIアプリケーションを作るときに使用します。ステータスバー付きのメインウィンドウにメニューバー,簡易的な設定ダイアログとAboutダイアログ,それにヘルプウィンドウが生成されます図2)⁠
  • ubuntu-cli
    • コンソールアプリケーションを作るときに使用します。テンプレートの中では一番シンプルなコードが生成されますので,簡単なPythonツールを作ってPyPIなどで公開したいときにも便利です。
  • ubuntu-pygame
    • pygameを使ったゲームを作るときに使用します。作成した段階で,簡単なシューティングゲームが動きます図3)⁠
  • ubuntu-flash-game
    • Flashを使ったゲームアプリを作るときに使用します。このテンプレートだけは他と異なり,アプリケーション名の後ろにゲーム本体にしたいSWFファイルを指定する必要があります。

アプリケーションは任意の名前を指定できます。ただし,既存のPythonモジュール名と被るような名前をつけると,モジュールインポート時にバッティングがおきて動作しないことがありますので注意してください。

図2 ubuntu-applicationのメニューと設定ダイアログ

図2 ubuntu-applicationのメニューと設定ダイアログ

図3 謎のシューティングゲーム

図3 謎のシューティングゲーム

createコマンドによりアプリケーションの作成が成功すると,以降生成されたディレクトリの中で以下のようなコマンドを実行できます。

  • quickly tutorial:ヘルプウィンドウを表示します。
  • quickly run:アプリケーションを実行します。
  • quickly edit:編集対象となるファイルをエディターで開きます。
  • quickly design:GUI設計ツールであるGladeを起動します。
  • quickly debug:デバッガであるWinpdbを起動し,アプリケーションを実行します。
  • quickly test:testsディレクトリにあるテストスクリプトを実行します。
  • qucikly save "comments":変更したファイルをbzrコマンドでコミットします。
  • quickly package:debファイルを生成します。
  • quickly release:Launchpadプロジェクトを作成し,データをプッシュします。

テンプレートごとに使えるコマンドリストは"quickly commands"で表示できます。より詳しいことや上記以外のコマンドについては,"quickly help コマンド"を参照してください。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入