問題タブ [qtquick-designer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - デザイナー モードで QML ファイルを編集できない
を使用してqmlデザイナーを試してqtcreator 2.0.1
いますが、新しいqmlプロジェクトを作成するとデザイナータブが無効になります。
ui
c++のファイルのようにqmlをデザイナーモードで編集できますか?
qt - Qt Creator qml: (追加の) Qt コンポーネント ライブラリ (ubuntu) を使用する
新しい Qtquick qml プロジェクトを作成し、「デザイン」モードで qml ファイルを変更すると、限られた数の Qt Quick Basic コンポーネントがウィンドウ ライブラリ QML タイプ (Rectangle
や などButton
)の下に表示されます。
フォルダに移動すると、または/opt/QTSDK/QtCreator/lib/qtcreator/qtcomponents/
のような多くのコンポーネントが表示されますCheckBox
RadioButton
これらをデザイン モードで使用/表示するにはどうすればよいですか?
c++ - QML - 命令型コードはサポートされていません
QML
forの命令型コードは、追加のコンポーネントJavaScript
の一部でない限り実行されないという事実について、誰かコメントできますか。次のコードを QML に含めると、このような問題に直面しています。
Qt Designer がフリーズすると、次の警告が表示されます。
命令型コードは Qt Quick Designer ではサポートされていません
qmlpuppet/bin
をビルドすると、それをビルドする Qt のディレクトリにコンポーネントをレンダリングするための実行可能ファイルがインストールされることを読みました。Qt Quick Designerは、qmlpuppet が /bin ディレクトリにある場合、現在のプロジェクトの Qt をチェックします。はいの場合、Qt Creator 自体が提供するものではなく、Qt バージョンが提供する qmlpuppet を使用します。私の場合、Qt 静的バイナリ インストールを使用していませんが、代わりにソースから Qt をビルドしたため、qmlpuppet実行可能ファイルが生成され、既に次の場所にあります。
そのため、実行可能な qmlpuppet が見つかると予想される場所に配置されますが、この厄介なメッセージは引き続き表示されます。
私が現時点で行った回避策は、Qt Designer を使用してフロントエンド QML を編集する場合に備えて、いわゆる「命令コード」をコメントアウトすることです。次に、それらのコメントを取り出して、「命令コード」を再度有効にします。しかし、コードはコンパイルされ、期待どおりに動作しますが、これは非常に面倒です。
では、この警告について心配する必要がありますか? とにかく、Qt Designer がフリーズしたため、この問題を解決する手段はありますか?
c++ - Qt c++ と Qml のシグナルとスロットの接続
プロジェクト用に qt ウィジェットを作成しました。ボタン、シグナル、スロット、スレッドのすべてが正常に機能し、出力も取得しました。
Dialog.h
ダイアログ.cpp
ダッシュボードの目的を作成するために、qml で同じ ui を開発しました。ボタンを押すと信号とスロットが接続され、すべてが接続されます。しかし、ラベルボタンを接続する方法がわかりません。有効に設定してください。
それはqtウィジェットコードです。その下にdialog.cppとqml
ダイアログ.cpp
dashboard.qml : (すべてのボタンと同じように)
qt - ui.qml ファイル内のコンポーネントにビジネス ロジックを追加する
次のように、画像と関連するマウス領域があるQMLクイックフォームがあります。
さて、ドキュメントによると、ビジネスロジックを分離する必要があり、デザイナーはStatusBar.qml
フォームを作成し、追加しました:
今問題は、Mac で Qt 5.9 を使用してテストしたところ、動作しました (ただし、Qt の作成者は、それonClicked
を訴えるハンドラーを強調表示しましたexitButtonMouseArea identifier was not valid
。exitButton.exitButtonMouseArea.onClicked:
Linuxで試してみましたがQt 5.8
、アプリケーションが初期化されません。イベントハンドラーを削除しても問題ありませんが、もちろん画像を操作することはできません。
私の質問は、私の場合、UI ファイルの外部でビジネス ロジックを提供するにはどうすればよいかということです。
EDIT @derMの回答に続いて、次のことを行いました。
onClicked
コンポーネントが初期化されている間、イベントが発生しません。