名古屋Qt勉強会#10に参加しました post

名古屋Qt勉強会#10 10/19 on Zusaar

名古屋Qt勉強会 #10 に参加しました。

今日はもくもく回

OSC Tokyo とかとかと日程が被ってたので人数が少なかったです。

自己紹介

とりあえず、全員そろったところで自己紹介

ちょっと、大事なお知らせがあった。

お疲れ様でした。

もくもく

ひたすらもくもく

昔作った TimerKeeper を再実装してみようとおもって、もくもくしてみた。

ウィジェットの配置からアクションやスロットまで、ほとんどをレイアウトエディタで作ってみた。

久しぶりにさわったから結構手間取ったけどそれなりに。

リスト部分は QListView でモデルベースが推奨されてるって話だったのでそのように実装してみた。 前に QStanderdItemModel をベースに作ったことはあったけど QAbstractItemModel から作ってみたけど、思ったほど大変じゃなかった、うまくできてるな〜、、、、。

で、リストにヘッダを付けようと思って四苦八苦、、、で、ドキュメントを見たら、、、"This view does not display horizontal or vertical headers; to display a list of items with a horizontal header, use QTreeView instead." (訳:"このビューは、水平または垂直のヘッダを表示しません、代わりにQTreeViewを使用し、水平方向のヘッダーとアイテムのリストを表示してください。") だと、、、!?

いや、、、そういえば前にも引っかかった気が、、、 WIN32API にどっぷりだと勘違いしちゃうのかな、、、?

たしかに、デザイナのプロパティにそれらしい項目ないなーと思ってはいたけど、、、

で、ウィジェットを QTreeView に変更したらそのまま表示できた、、、モデルベースはうまくできてる、便利!

なんかヘッダが「1、2、3」って表示されてるのでQAbstractItemModel::setHeaderData()で値を指定してみたけどうまく行かなかった、、、ので、もしかして?っと思って試してたら、値を指定しても保存してくれていない様子、QAbstractItemModel::headerData()で値を返したら表示されるようになった。

で、、、 hspide からファイルのドラッグ&ドロップの処理をコピペ(おい)

アイコンもとりあえずなのを使って実装。

リストからの除外時にファイルのタイムスタンプを戻す処理を実装、、、でとりあえず時間内に機能が動くようになった。

今回は、結構ギリギリな感じではあったけどQtのパワーを改めて感じたもくもくであった。

成果物つ sharkpp/TimestampFreezer

TimestampFreezer on Mac

バイナリはもう少し実装したらな感じかな、、、(汗)

懇親会

手羽先&ピザ 美味しかったです。


 /  変更履歴  /  Permalink  /  このエントリーをはてなブックマークに追加
カテゴリ: ブログ  /  タグ: C++, Qt, 雑記, 勉強会