2012/01/20

[無駄話]初心を思い出さねば

鉄は熱いうちに食え、という(いわない)。
Qt熱が熱いうちに、いろいろと作って覚えてしまわねば。
私は体で覚えるタイプみたいなので、効率が悪くてもたくさん作るしかない。
ちなみに学生の時は、紙に何度も書いて覚えました。

さて、Qtのボタンとかラインエディタとかは使ったので、新たに何か使おう、と思い立った。
選んだのは、リスト。
選択肢が表示されていて、それをクリックして選択できる、あれだ。
私が最近使っていた統合開発環境は、Visual C# 2010 Expressだった。
あれもGUIで画面設計ができる。
便利なことに、例えばリストであれば、リストを画面にD&Dで載せ、そこにプロパティ値として項目を入力できるのだ。
簡単なアプリの場合にはそれでいいのだけど、データが可変だったりすると、データベースに置かれていない限りは自分で実装しないといけない(のだと思う・・・)。

Qtは、そういうプロパティはない。
タイトルなどはプロパティとして設定できるが、項目のようなものはソース上に実装することになる。
C#もそうなのだが、別にGUI開発環境がなくても、テキストエディタでソースを全部書いてしまえばちゃんと画面を作ることができる。
どこまでをGUI設計画面でもできるようにするか、という違いがあるのだな。
そこら辺が見えるところが面白い。
そういえばC#を初めて使ったときも「おお、GUIでここまで入力できるんだ」と感心した覚えがある。
初心に帰れば、Qt Creatorもかなり便利だ。

ふっと思ったのだが、GUI画面で文言入力できるのって、どうなんだろう。
簡単に思いつくのが、言語変更。
日本語が「おはようございます」なのに、英語が「hello」だったら、全然幅が異なる。
そんなのに全部対応することを考えるくらいなら、自動レイアウト調整に任せて、文言は一覧表で管理したくなる。
C#だと、.configファイルなどにまとめるんだっけ。
Qtだと、tr("xxx")というように囲むことで、Linguistを使って抽出することができたような気がする。

ともかく。
人間だけでやる、ツールだけでやる、そんな一方的なやり方じゃなくていいだろう。
人間がやった方がいいなら、人間がやり、ツールの方がいいなら、ツールがやる。
それでいいじゃないですか。。。
まとまりがなくなったが、私が今回思ったのは「データはソース側に書いた方がメンテナンスしやすいかも」ということだ。
仕事でC#でツールをよく作るのだが、その反省という意味もある。