Qt は流行るに違いない!
着実にバージョンアップしていますね。
Qt 開発者の認定制度を開始したり*1、Windows Mobile 6.5 を Qt4.6 で部分的にサポート、Qt4.7 で全機能のサポート*2する等、今後も期待が持てます。2ch の Qt スレも活発になってきてたりして、徐々に認知度も増している気がします。
最近 blog の更新だけでなく、Qt の勉強もサボり気味なので、改めて勉強し直して良い記事が書けるようにしたいです。
Qt について (1)
学んだ技術を書くといってから、ほぼ二ヶ月が経ってしまいました。
月に一度はエントリを書くのが今年の目標なので、少しでも書きたいと思います。
雑感
C++ で書かれた GUI ツールキットです。
KDE や Google Earth などで使われていますが、あまり流行っているとは言えない気がします。これは、GPL ライセンスを用意したのが 2005 年 6 月、LGPL ライセンスを用意したのが 2009 年 3 月と、わりと最近のことなので仕方ないのかもしれません。
ですが、これからマルチプラットフォームの GUI アプリケーションを作るのであれば、選択する価値があるというのが、使ってみての感想です。
良かった点
- シグナル、スロット
Qt の一番肝となる機構だと思います。
シグナルが発生すると、接続したスロットが呼び出されるという仕組み。
シグナルをシグナルに接続することもできたり、シグナル、スロット間の
パラメータの型や数が自由であったり、そのパラメータの型や数も
完全一致ではなく、前方から一意になる部分まで指定すればよく、
それ以降は省略することができたりと、かなり自由がきく。
デザインパターンでいうところの Observer パターン。
- レイアウト
水平、垂直、グリッドと用意されており、スペーサーをうまく使うことで、
ウィンドウサイズ変更時のコードをほとんど書くことなく、
ウィンドウ内のコントロールの配置を整えることができる。
- Qt Creator
本家で配布している物も、バージョン 1.2 位から日本語化されています。
普通に使い易いです。
良くなかった点
- 日本語の情報がそれほど多くない
O'Reilly からよい書籍が出ているので、入門には困りません。
ただ、本に載っていないことをやろうと思うと、ほとんどのドキュメントが英語です。
ドキュメントの日本語化を、誰でも参加できるような仕組みで
公開してくださっている方がいます(http://qt.linux-life.net/4/doc/)。
自分にもっとまともな英語力があれば、ぜひ協力したく思うのですが。。。
今回はとりあえずこのくらいで。
次は、もっとちゃんと書きたいと思います。
Dropbox を使って emacs の設定を共有
複数の環境で、emacs の設定を共有するようにしてみました。
- 基本方針
追加の elisp や設定を、Dropbox を使って同期する。
~/.emacs では、それを読み込むだけにする。
; Dropbox の emacs 設定ディレクトリを load-path に追加 (setq load-path (append '("~/Dropbox/emacs") load-path)) ; Dropbox に置かれた emacs 設定ファイルを読み込む (if (file-exists-p (locate-library "siteinit")) (load (locate-library "siteinit") nil t nil))
; このファイルが置かれているディレクトリ (setq siteinit-path (file-name-directory (locate-library "siteinit"))) ; siteinit-path を基準とする設定の例 (setq load-path (append (list (concat siteinit-path "iiimecf")) load-path))
- 設定後の使い方
~/Dropbox/emacs/siteinit.el が ~/.emacs の役目となります。
追加の elisp は、~/Dropbox/emacs 以下に入れるようにし、
パスが必要な場合は、siteinit-path を使うようにします。
CUI 環境の Linux で Dropbox を使う方法
つい二週間程度前に挑戦したものの、Dropbox にコンピュータを登録する部分がうまくいかず諦めていた。久しぶりに Dropbox Wiki を見直したら、登録する際の URL が変わっていたので再挑戦してみた所、ちゃんと登録できました。
https://www.getdropbox.com/register?host_id=HOSTID
↓
https://www.getdropbox.com/cli_link?host_id=HOSTID
ちょうど、変更した時期にやろうとしていたなんて、なんてタイミングの悪い……
- 参考