2017年8月19日土曜日

Qt 勉強会 @ Nagoya No11 を開催しました


勉強会の開催アナウンスはこちら
https://qt-users.connpass.com/

実は毎月開催しているのに、MLとかブログ記事をちゃんと書いていないです。あだばー。
それなのに常連さんが7人ぐらいいたり、たまにご新規さんが流入したりと健全な感じでありがたいです。

そろそろQMLをちゃんと入門したくてあれこれ調べながら勉強しました。
Qt5.9がLTS指定されていていい感じのバージョンなので、このバージョンを前提に調べました。

QMLの公式ページはここになるようです。
https://doc.qt.io/qt-5/qmlapplications.html
とりあえず、黙って上から読んでいけばなんとなくどうゆうものかは理解できる気がします。

First Steps with QML
https://doc.qt.io/qt-5/qmlfirststeps.html
ファーストステップなんてまさにこれ!という記事タイトルですが、なんか罠っぽいものを感じてしまったので、忘れないように書きました。(感じ方には個人差があります)
Qt5のqmlfirststepsのCreating QML Applications with Controlsの項目が罠っぽいなーというつぶやき

これを読むと、私はQMLを入門したいのではなく、正確にはQtQuickアプリケーションに入門したいのだということがわかります。

Rectangleとかは普段はエレメントと呼称していますが、プリミティブにはobjectというようです。
まぁ些末ですね

プロパティバインディングはDefining Custom QML Types for Re-useはかなり重要なポイントですね。

今日はこの辺で終わってしまいました…。

Qt5のqmlfirststepsのCreating QML Applications with Controlsの項目が罠っぽいなーというつぶやき

QML入門したい。そう思って何回も挫折しちゃっているnekomatuです。
イチから学ぶべく、できるだけ公式の情報を元に学ぼうとしています。
その中でううん!?ってなった部分を書きました。

公式のQML入門ページ
First Steps with QML

要約
  • QtQuick.Controlsにはバージョン1とバージョン2が存在する。
  • QtCreatorで新規プロジェクトの作成でQtQuickControls2Applicationを生成した時の雛形はバージョン2を使ったものになる。
  • ところが、QMLの最初に読むページは依然としてバージョン1を使った説明がなされている。
  • 入門者にはバージョン1とバージョン2の違いが分かりにくくややこしいと思われる。

電子書籍でちょうどいい同人誌があるので、共有します。
技術書典2で「Qt Quickを使いこなすクロスプラットフォームUIプログラミング2 」を頒布します - 理ろぐ


概ね全て読む必要がありますが、Creating QML Applications with Controlsの章は要注意です。
このwith Controlsというのは、正式にはQt Quick Controlsを指しています。
Qt Quick Controlsにはややこしいことに大まかに2つのバリエーションが存在します。
次のページに整理されて記載されています。
https://doc.qt.io/qt-5/qtquickcontrols2-differences.html
私が理解しているざっくりしたものは次のとおりです。
  • Qt Quick Controls
  • Qt5.1から利用できるようになったものです。 これを使うとWindows/Mac/Linuxなどのネイティブアプリのような見た目のアプリをQMLで書くことができます。 https://doc.qt.io/qt-5/qtquickcontrols-index.html
  • Qt Quick Controls2
  • Qt5.7から利用できるようになったバージョン2です。 しかしながら、なんと無印(ここでは1と表記します)の単純なバージョンアップではありません。 ネイティブアプリという方向性は一旦やめて、スマホ・タブレットライクなUIを簡単に構築できるような方向性で作られており、 またデザインレイアウトを自前で変更しやすいようになっています。 このように1とは思想がだいぶ違うので注意が必要です。 https://doc.qt.io/qt-5/qtquickcontrols2-index.html

さて、注意というのはQtCreator4.3で新規プロジェクト生成したときの雛形はControls2の方で生成されています。
これはimport QtQuick.Controls 2.2ってなっていることから分かります。
一方でFirstStepsのページを見ると、import QtQuick.Controls 1.2となっています。

ApplicationWindowエレメントですが、これはimport QtQuick.Controlsに含まれているエレメントです。
その後ろにつくバージョンによって読み出される実装は全く別物。ということになるわけですね。

FirstStepsの写経をしているとMenuBarというエレメントがあるのですが、先の違いをみると2には含まれていないと書かれています。
つまり、import QtQuick.Controls 2.2 の状態でMenuBarエレメントは使えない!ガッデム…。
おとなしく、importを一層のこと1に切り替えるべきか悩むところですが、ここでは生成されている雛形を崩さずに2を使いたいと思います。
MenuBarの対応については、先のそれぞれの違いのページに書いてあるとおり、Alternatives(代替手段)を使ってみたいと思います。
具体的には次のとおりです。
import Qt.labs.platfrom 1.0 とMenuBarがそれです。
シンタックスハイライトがないので、超醜いと思いますが

import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3

import Qt.labs.platform 1.0

ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

MenuBar{
Menu{
title: "&File"
}
Menu{
title: "&Edit"
}
}

}

FirstStepsに戻って写経すると、次のようになって
Openボタンを押すとコンソールに文字が出て、Exitボタンを押すとプログラムを終了させることができるようになります。
MenuBar{
Menu{
title: "&File"
MenuItem {
text: qsTr("&Open")
onTriggered: console.log("Open action triggered");
}
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
Menu{
title: "&Edit"
}
}

2017年8月12日土曜日

コミックマーケット92でゆゆ式もろもろを手に入れた #c92

よくあるやつ

所感

どーしよーかなーと悩みつつも結局行くことにしました。
名古屋から新幹線で出て、9時45分…、開場15分前に到着しましたが、するすると列が動いて20分もしないうちに中には入れてしまいました。
人ごみのざわざわとした喧噪もそんなになくて、あれ、本当に自分の知ってるコミケ?っていうぐらいに一番今まで楽なコミケになりました。
気温も25度ぐらいの曇りとかなり過ごしやすい環境でした。
あまりに余裕があったので、目的のゆゆ式島を回った後にカタログを調達して気になるところを回ってみるという冒険もしてみました。

こうやって、バーッと見るとコミケって途方もなくたくさんのサークルさんがいるという印象があったのですが存外に有限で(それでも十分な出店数)
あぁ、発表する側というのは圧倒的少数なんだなぁとかいろいろ思いをはせたりしました。
なかなか、他にピンとくるジャンルが無く回ったのはアニメ評論の島で、ここでめぐろっくのまとめ本に遭遇できたのは来てよかったー!っとテンション上がりました。
市場(マーケット)の良いところは、まさにこうした思いがけない出会いであり、発見だと思うのです。

感想

順不同。感想が多いから良いとか悪いとかそうゆうのじゃないです。念のため…。
このブログは自分の備忘録です。

今回もゆゆ式島が形成されてて、新しいサークルさんが数組いらっしゃいました。
いやはや、アニメ化されてOVAなどが出てから結構経つものですが、関係ないものですね。

  • 社会人ゆゆ四季はるてんご/タツノコッソ
  • ゆゆ式のキャラクターがもう少し成長して独立した世界。を描いた同作品名のショートストーリー。 冒頭の公式バリのネタは毎度ながら感嘆です。 まさか、後半はそのキャラを使って描き出すのか!?というのは驚きもあり非常に説得力のある構成で素晴らしかったです…。 多くないページ数に詰め込まれてる構成力についうるっと来てしまいました。(涙腺弱めの人
  • RakugakiSpaceVol3/タツノコッソ
  • こちらは落書き集で、大事なことなので3回繰り返したルームウェアがテーマでした。(あとがきより) 可愛いだけじゃなくてフェチ度も地味に高め…。マーベラス(語彙力) 背景やモチーフといったキャラクターを彩る部分も完成度が高くてすごいなーと毎度思います。 タツノコッソ先生はボブショっ娘の人でもありますが、こうやってみると、前髪カットに特徴があるんだなぁと今更気づきました。
  • ヨセアツメタリマトメテミタリ/はるはらくじら
  • 強引な展開とキャラに言わせてしまうあたりがいいですね。同人誌って感じがしてよいです。 記憶喪失したら何をさせよう。はメタですけど、これリアルだったら周りは結構慌てふてめく展開ですよねw
  • ゆゆっ!!!/はま☆スターズ
  • 表紙、なんでぐーちょきぱーなんだろう?っておもったら裏表紙に説明が書いてありました。意味はないそうです。 ところで表紙の裏って書くけど、文字通りじゃないのちょっと面白いですね。 がっつり将棋ネタで藤井四段とかぶせてあるのかと思ったら、たまたまの偶然だそう。調べものがガチなのに伏線も結構詰め込まれているのが面白かったです。
  • はる/なつ ゆゆ式らくがき本/逍遙‎
  • 少々の妄想とそれを裏打ちするためによく調べられたリアルなファッションが特徴的な一冊でした。よきよき。
  • ゆゆ式PrettyDays/みゆず
  • 初参加で初同人誌だそうです。タイトルは某映画作品だよなぁ…。という謎だったのですが、中身は3人が中学で出会った頃のネタでした。 原作ではゆずこは中学からの友達とされていますが、存外、この中学生時代がどうだったか。みたいなものを描いている人は多くないのですよね。 妄想がはかどる反面、難しさが多いというか手がつけにくいというか。そんなところがあると思います。(個人的な感想) 本作ではがっつり踏み込んで、わー!すっごくありえそうっ。という仕上がりになっていて驚きました。 こうゆう作品と出会えたりするのでつい参加しちゃうんですよね…。
  • ゆゆしき事態 夏/たねもとはる
  • So Bad!/水面下あーけー
  • びしょびしょ大臣の水面下せんせーの作品ですね。あ~、ついに出ちゃいましたか、ローションがっ。しかも、学校です。 徹頭徹尾、ぬるぬるで行くのかと思いきや、攻めのゆかりちゃんにゾクゾクしてしまいました。最高か
  • 歓迎あいおか温泉/ねこひげ
  • 作者の欲望のために置いてけぼり食らってしまったはせやんかわいそう(こら)
  • キュンキュンサイクル/りんごあぬ
  • そりゃ何回も家に遊びに行ってたらご両親がいない日だってありますわなぁ(うんうん)
  • ゆゆ式 '90/水瀬雅美
  • ゆゆ式の薄い本…。というよりはパソコン通信の本でした。53ページもあって読むの大変でした。 私は情報系(パソコンやインターネット)の勉強をしていたので、分かりますが知らない人は完全になんのこっちゃという一冊。 教科書やまとめでは知っているけど、こんなリアリティのある話は聞いたことが無かったので楽しかったです。 ちなみに90年というのは27年前の話ですから、遠い昔のような最近のような…? 多分割と最近のはずなのですが、テクノロジーの劇的な進歩は人類史の上でも類を見ないものなので、すごい時代ですねぇという感想です。
  • ゆゆすき@4期/合同誌
  • 34名が連なった薄くて暑い本。来年もやる予定とかなんとか。遠いところまできたものだ…。
  • アニソンサロン Vol.2 -二次元アイドルは『何』を歌う?-/NAND
  • アニソンサロン Vol.3 -ライブ諸注意の変遷から見るアニソンライブの今後-/NAND
  • meg rock(勝手に)解説本 Vol.2017.08/kouki・わっさ
  • cloverがお気に入りの私ですが、ほかにも良いなと思う楽曲にクレジットされてるので印象がありました。 しかし、情報といった情報もまとまっていないのでまさかこんな本に出合えるとは…。

2017年8月2日水曜日

AdobeAIRとLinuxデスクトップアプリについて思うこと

記者の眼 - Flash終了の知らせには、二度驚いた
開発コードがApolloというのが懐かしいですね。
私もAIRがLinuxデスクトップアプリの可能性を広げるんじゃないかと思ったことがありました。
ちょうど、私が関心を持っているQtと同じようにクロスプラットフォームであるところに魅力を感じたのでした。
ただ、私は記事の内容とは違って全く驚きとかはありませんでした。

AIRが正式版になったころ、2008年というとWebアプリケーションが一気に増えていったという時代でもあります。
Ajaxという言葉を広く知らしめたGoogleMapsが2005年,Gmailもそのへんです。
それまではアプリはネイティブアプリという世界観だったのですが、Webブラウザがあれば事足りるじゃん。という世界観が
デスクトップコンピュートにやってきた感じだったのを覚えています。

そんな世界観がやってきてから、はや10年ちょっと経っているわけですがあれから私の使い方はあまり変わりないところで、
ネイティブアプリはWebブラウザとVLC,たまにLibreOffice,ちょっとしたメモにgeditという生活が続いています。

2017年7月22日土曜日

buildrootにQt5.9がやってきました #qtjp

http://lists.busybox.net/pipermail/buildroot/2017-July/198475.html
わいわい

最新版でお試しください。
Qt5.9自体は5月31日にリリースされましたが、Buildrootには7月20日に入りました。
bumpupするだけやねん。と思うのですが、やはりそこそこ規模がある代物なのでパッケージングに当たってはいくつか検討と議論がありました。
お手軽に使えるのは作業してくれてる方がいてこそです。感謝っ!