私はQML extensionプラグインを作成していますが、私が実装したばかりの要素のサイズにアクセスする方法を探しています。anchors.fillで定義されたQML要素のサイズを読む:parent
今(CustomElement
という名前の)新しい要素は、ユーザーがQMLにユーザーファイルので、それは、幅と高さ値だ定義することで、したい任意のサイズで作成することができます行うことができます。
CustomElement
{
id: my_elem
width: 800
height: 600
}
しかし、私はこのように、ユーザーがanchor
てサイズを設定する際にサイズ情報を取得できるようにしたいと思い:
Rectangle
{
width: 800
height: 600
CustomElement
{
id: my_elem
anchors.fill: parent
}
}
anchors
の情報にアクセスする方法はありません。
プラグインクラスは次のように定義される:プラグインのコンストラクタで
class CustomElement: public QDeclarativeItem
{
Q_OBJECT
//Q_PROPERTY() stuff
public:
// ...
};
、私はfalseにQGraphicsItem::ItemHasNoContents
を設定します。
CustomElement::CustomElement(QDeclarativeItem* parent)
: QDeclarativeItem(parent)
{
qDebug() << "CustomElement::CustomElement parent is:" << parent;
setFlag(QGraphicsItem::ItemHasNoContents, false);
}
デバッグを追加した後、私はparent
があることに気づいた0
これはなぜ有用な情報をboundingRect()
などの方法で取得できないのかを説明しています。どうやら、問題は私のプラグインに親がないことです。この問題をどうやって解決するのですか?
あなたはわずか3日間の検索に終止符を打ちます!私は十倍upvoteすることができます – Martin
うーん、それはまだ私のために動作しません。 Q_DとQ_Qとは何ですか?クラス名でQ_Dを呼び出すと、コンパイラエラーが発生します。あなたは完全な例を投稿できますか? – Martin
http://www.qtcentre.org/threads/20953-Q_D-and-Q_Q – karlphillip