QMLでHello Worldアプリケーションを作成しました。今、私はC++からテキストを "Hello World"から "Goodbye World"に変更する方法を学びたいと思っています。QML C++ Goodbye World
QMLはそうのようになります。
import QtQuick 2.6
Rectangle {
property alias mouseArea: mouseArea
width: 360
height: 360
MouseArea {
id: mouseArea
anchors.fill: parent
}
Text {
id: helloText
anchors.centerIn: parent
text: "Hello World"
}
}
私は
https://wiki.qt.io/Introduction_to_Qt_Quick#Integration_with_C.2B.2B_applications
しかし、運に従うことをしようとしました。コードは不完全なようです。例えば、それはそうのような楕円形で情報をオフに残し:
QDeclarativeContext *context = …;
そして、私はそれがなかった場合でも、QDeclarativeContextのヘッダーを見つけることができません。私はドキュメンテーションが古いと思うが、わからない。
とにかく、C++プログラムの中からテキストを "Hello World"から "Goodbye World"に変更できる簡単な例を見てみたいと思います。
「Q ++ with C++との混乱に対してお勧めします」というご意見で混乱します。 C++からのUI表示を変更しないことをお勧めしますか? 「混じり合う」という言葉は私には不明です。 – Mitch
@Mitch - 「オブジェクトを見つけてそれにランダムなことをする」という意味です.2つのレイヤー間の相互作用は、信号、スロット、およびプロパティに限定する必要があります。うまく設計されたAPIでは、C++のGUIとまったく混じる必要はありません。 – dtech
あなたのC++コードは、信号、スロット、プロパティを使ってQMLで簡単にプラグインするクラスでなければなりません。相互接続のためのインターフェイスが明確に定義されていれば、C++ロジックとQML GUIを分離して分離する必要があります。彼らが所属する場所に物事を保管してください。さもなければ、あなたは悪いデザインを作り、問題を招きます。 – dtech