ラベル 技術 の投稿を表示しています。 すべての投稿を表示
ラベル 技術 の投稿を表示しています。 すべての投稿を表示

2013年4月20日土曜日

PyQt入門

PyQt入門として、
    http://www.slideshare.net/RansuiIso/pyqtgui
で作っているラーメンタイマーをちょっとだけ改造してみました。

勘所としては「シグナルとスロットをコネクトする」で、
これで自然と疎結合に開発できそうなので良いなという印象でした。

シグナルは「ボタンをクリックしたとき」のようなアクションのことで、
スロットは「この処理をする」というような処理部として理解をしています。

あとは開発するときに必要なコンポーネントを調べれば色々簡単に作れそうです。


やってみた改造は
 エディットに時間(分)を入力できるようにし、
 ボタンを押すとその時間がタイマーにセットされる
というものです。

エディットとボタンをそれぞれ

    line_edit = QtGui.QLineEdit()
    set_button = QtGui.QPushButton(BUTTON_LABEL)

と作り、

    widget. set_button.clicked.connect(widget.set_time)

としてボタンアクションでエディットの時間をセットするようにしました。

set_timeの中身は型判定とかとりあえず無視してこんなん。
(エディットとボタンとタイマーを同じクラスに置いています)

    self.count = int(self.line_edit.text()) * 6000
    self.update_display()



QtGui.QSoundとかが見つかるので、
3分経ったら音を出す、みたいなことも簡単にできるかも。



2013年4月3日水曜日

MacへPyQtをインストール


mac(OS X)にPyQtをインストールしたのでメモ。

windowsはインストーラ一発で簡単ですが、macは何ステップかあります。
Qt、SIP、PyQtの順で入れる必要がある模様です。
また、C++コンパイラが必要なため、xcodeをインストールしておくと良いみたいです。

 参考記事:
  http://d.hatena.ne.jp/Kyky/20110411/1302514189

Qtはここからダウンロード。
インストーラに従って入れました。
 qt-users.jp/index.html

SIPというライブラリが必要らしいのでここから。
 http://www.riverbankcomputing.co.uk/software/sip/download

コマンドは64bitなので次のように。
(最初32itだと思い込んでいたのでPyQtインストール時にエラーになりました)

 解凍したSIPのディレクトリへcd
 python configure.py --arch x86_64
 make
 make install

PyQtはここから。
 http://www.riverbankcomputing.co.uk/software/pyqt/download

コマンド
 解凍したPyQtのディレクトリへcd
 python configure.py
 make
 make install

適当に起動確認。
例:windowの表示

   import sys
 from PyQt4 import QtGui

 QtGui.QApplication(sys.argv)
 window = QtGui.QWidget()
 window.show()