問題タブ [uic]
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 - setupUi または uic 出力を使用して、親ウィジェットなしで独立したレイアウトを作成する方法は?
ファイルから uic によって生成された出力は、.ui
常にレイアウトと子ウィジェットを既存のウィジェットにインストールします。これは、レイアウト/子を に直接追加する場合に最適ですwidget
。
残念ながら、介在するウィジェットが不要な場合もあります。まず、ウィジェットのレイアウトにはゼロ以外のマージンがあるためUi::Form
、レイアウトにコンテンツを挿入する場合は、マージンをリセットする必要があります。
さらに、この場合、介在するウィジェットは完全に不要です。setupUi
トップレベルのウィジェットを必要としなかったとします (Qt 5.7 以降、nullptr を渡すとクラッシュします)。次のように使用できます。
調べuic
たところ、トップレベルのウィジェットなしでコードを発行することはサポートされていません。必要なパッチがごくわずかであることは事実です。
それでも、Qt にパッチを適用せずにnullptr
-acceptingの効果を実装する方法はありますsetupUi
か?
誰かがこれをでっち上げの問題だと思わないように: この質問は、YUView のこのコードによって部分的に促されました。そこでは、parentWidget
渡された にsetupUi
すでにレイアウトがあり、その目的は、完了後にフォームのレイアウトを別のレイアウトに追加することsetupUi
です。QWidget::setLayout
の内部から呼び出されてsetupUi
、新しいレイアウトの設定を拒否し、警告を発し、それにもかかわらず、物事はたまたま機能します。このコードは、Qt コードが目的の結果につながる正しい方法でブレークすることに依存しているため、脆弱です。
qt4 - Qt5: テキスト ID ベースの翻訳。カスタム パラメータを uic に追加する
プロジェクトに Qt 5.9 を使用しており、ID ベースの翻訳を使用する必要があります。私の問題は、uic 実行可能ファイルのパラメーターを変更できないことです。qmake 変数 "QMAKE_UIC" は Qt 5 で削除されました。
.ui ファイルで ID ベースの変換を使用できるように、パラメーター「-tr qtTrId」を uic コマンドに追加する方法を知っている人はいますか? または、ID ベースの変換を使用するように qmake に指示する別の方法はありますか?
君たちありがとう