8月25日(土) に開催された Qt 勉強会 @ Nagoya #19 - connpass に参加しました。
そのまとめなどです。
動的に追加したコンポーネントにC++側から値を設定する
たぶんこのままではちゃんと動かないけど、雰囲気それらしいメモ。
// .qml
Component {
id: hogeHoge
Label {
property variant hoge: null
anchors.right: parent.right
anchors.left: parent.left
text: ""
Component.onCompleted: {
hoge.bind(this);
}
}
}
:
hogeHoge.createObject(container, {
hoge: hoge
})
// .h
class Hoge : public QObject {
:
Q_INVOKABLE void bind(QObject* object);
:
}
// .cpp
:
QQmlApplicationEngine engine;
Hoge hoge;
engine.rootContext()->setContextProperty("hoge", &hoge);
:
void Hoge::bind(QObject* object)
{
qDebug() << object; // QQuickLabel_QML_99(0xffffffffff00)
// read from
qDebug() << "Property value:" << object->property("text").toString();
//or qDebug() << "Property value:" << QQmlProperty::read(object, "text").toString();
// write to
object->setProperty("text", "aaaa");
//or QQmlProperty::write(object, "text", aaaa);
}
Qt Documentation に一瞬表示されるアイコンとメッセージ
Qt の公式ドキュメントを表示すると上部に一瞬だけ表示されるやつ。
We bake cookies in your browser for a better experience. Using this site means that you consent. 訳:より良いエクスペリエンスのために、ブラウザでクッキーを焼きます。 このサイトを使用することはそれに同意することを意味します。
のメッセージとともに The Qt Company へのリンクがあるみたい。
進捗
今回は愚直に実装を進めた関係で新たな知見は少ない感じ。
- signal用のヘルプ表示関連の実装
- 表示用の専用QMLを実装
- QMLの切り替え用のコードを実装
- C++側にも実装を追加
- signal受信時にどのように通知するか?
パターン1:スクロール&フラッシュ該当signalにスクロール該当signalがフラッシング
- パターン2:通知&クリックでスクロール 採用!
- ウインドウ内に通知
- 通知をクリックすると該当のsignalにスクロール
懇親会
タコさんウインナーとか、もぐもぐ♪