QtCreatorでQtプロジェクトに取り組んでいます。プロジェクトにはいくつかのUI要素を含むダイアログボックスがあり、そのうちのいくつかはユーザーの操作に応じて有効/無効にする必要があります。(つまり、ユーザーがラジオボタンを選択した場合は、フォームフィールドを有効にする必要があります。)
Qt Designerツールを使用して新しい信号/スロット接続を追加したり、既存の接続を削除したりすると、プレビューに変更が正しく表示されます。ただし、アプリケーションをコンパイルすると、ウィンドウは以前とまったく同じように動作します。
ui_WindowName.h
QtDesignerが作成するファイルをチェックしてこれを調査しました。関数の終わり近くにsetupUi
一連のconnect()
呼び出しがあります。これらのconnect()
呼び出しは、今日以前に存在したスロットとシグナルと一致していますが、それ以降にQtDesignerを介して行った変更を反映していません。
ファイルを手動で変更するui_WindowName.h
と、UIが機能します。しかし、もちろん、Qt Designerから何かをチャンスにしようとすると、私の変更は上書きされます。
QtCreatorを終了して再度開くと、デザイナーは変更されたスロット/信号接続を表示しますが、自動生成されたコードは変更を反映しません。
私は何か間違ったことをしていますか?Designerが保存しているキャッシュを削除する方法や、同期を取り戻す方法はありますか?
ありがとう!
(もう1つ:私はスタンドアロンのQt Creatorを使用しており、Visual Studioで開発しようとはしていません。Webで見つけた他の同様の問題は、自動化をサポートしていないVisualStudioで開発している人からのものだけでした。信号/スロットのもの。)