IveはQt 5.9.3に基づいて新しいQMLプロジェクトを作成しました。ボタンとMyボタン(MyButton)を持つ単純なApplicationWindowをセットアップして、onClicked()イベントを発生させることは決してありません。アプリケーションウィンドウに2つのボタンが表示されます。いずれかをクリックすると、コンソール出力に何も表示されません。qmlボタンが発射されず、MouseAreaと同じ
私のqmlソースファイルも.proファイルであらかじめコンパイルしておくことも重要です。私は に私が修正する起動時にいくつかのフォントエラーを取得するので、私は何かを見ることができるので、 エラーまたは警告がない以外のフォントを取得します。 Iveは運のない単純な マウスクリックイベントを得るために数時間を費やしました。
何か助けていただければ幸いです。
は、ここに私のmain.qmlです:
import QtQuick 2.7
import QtQuick.Controls 2.0
ApplicationWindow {
visible: true
width: 640
height: 480
title: "App Title"
color: "white"
Button {
text: "Button"
onClicked: {
console.log("clicked")
}
}
MyButton {
anchors.right: parent.right
anchors.top: parent.top
onClicked: {
console.log("my button clicked")
}
}
}
とMyButton.qml
import QtQuick 2.7
Rectangle {
id: button
width: 100
height: 50
color: "yellow"
signal clicked()
MouseArea {
id: mouseArea
anchors.fill: button
visible: false
enabled: true
onClicked: {
console.log("my button mouse clicked")
clicked()
}
}
}
UPDATE:私は非常に愚かなことをしました。私が行ったmain.cppファイルで 私はクリーナーとQQmlEngineのinitコード を独自の別の方法に移動すると思っていません。もちろん、エンジンリファレンスが範囲外の になったとき、それは私の問題を引き起こしました。そこに何か問題があった場合、qmlコードがまったくうまくいかないと間違って判断したので、私はそこを見ていませんでした。これほど遅れて申し訳ありませんが、非常に忙しい週でしたし、帯域幅を無駄にしてしまいました。将来の参考のために、素晴らしいデバッグの提案をありがとう!