問題タブ [qlayout]
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.
c++ - Qtで複数のUIフォームを切り替える
組み込みデバイスのユーザー インターフェイスを開発しています。約 30 個の UI フォームを作成しました。最初に、データベースをロードし、利用可能な既知の wifi とそれらすべての起動機能に自動的に接続する Welcome フォームがあります。すべてがロードされると、次にロードされるフォームはユーザーログインです
ログインが2番目のUIである場合、これが私が行う方法です
これは、複数の UI を切り替える正しい方法ですか? このソフトウェアは、さまざまなアプリを開くための複数のアイコン ボタンを備えたスマートフォン デバイスのように想像できます。また、各アプリまたはフォルダーには独自の機能があります。メインメニューのホームページなどに戻るためのホームボタンがあります。上記のコードを使用して、さまざまな ui フォームを切り替えましたが、これがその方法であるかどうかはわかりません。私は Qt に非常に慣れていないので、2 週間以内にこのタスクを実行するように求められ、見つけた最も簡単な方法を作成しました。それについてもっと良い方法はありますか?
ヘルプやガイドラインをいただければ幸いです。よりよく理解するためのリンクを教えていただければ、それは素晴らしいことです
ありがとうございました
編集
すべての UI フォームには、ログイン、メイン メニュー、設定 - 電源オプション、Wi-Fi オプション (設定内) に直接アクセスするためのショートカット パネルがあります。1 に示すレイアウト フローは、2、3 および設定と同様です。汚い画像ですみません。双方向の矢印は、前後に切り替えることができることを示しています。単一の矢印は直線的な動きを示します。
qt - 動的に追加されたウィジェットでの QScrollArea および QVBoxLayout の問題
QScrollArea 内に含まれる QVBoxLayout にウィジェットを動的に追加すると、奇妙な問題が発生します。ウィジェットを追加すると期待どおりに動作しますが、すべてのウィジェットを削除した後も画面にアーティファクトが残っています。以下のスクリーンショットを参照してください。
以下のコードを参照してください。
ui_mainwindow.h
メインウィンドウ.h
メインウィンドウ.cpp
main.cpp
c++ - Qtレイアウトでアイテムを配置する
ここ数日間、私は Qt レイアウト システムに関する特定の問題を解決しようとしています。一般化してみましょう: 2 つの行を持つウィジェットがあります。最初の行には、ツリー ボタン (またはその他のコントロール) があります。それらのレイアウトは写真に示されています:
中央のボタンは、使用可能なすべての余分なスペースを使用しています (ウィジェットのサイズが大きくなるにつれて拡大します)。問題は、プログラムで中央のウィジェット(ボタン)のサイズを変更し、レイアウトを維持したいということです。現在の実装では、中央のボタンのサイズを変更すると、次のようになります。
右ボタンを中央ボタンの右側に配置したい(余分なスペースなし)。ウィジェットのサイズを変更すると、位置 1 に戻ります (中央がすべての余分なスペースを取ります) が、これは私が望む効果ではありません。
これが私の現在の実装です:
ノート:
中央と右のウィジェット Qt::AlignLeft を揃えようとしましたが、結果はありません。実際、ウィジェットをレイアウトに残して配置すると、拡張機能が壊れる最小サイズを取得しようとします:(
参照が必要な場合は、コードを共有しました: https://drive.google.com/file/d/0B-mc4aKkzWlxTWdNNmpuQ0ptQ3M/edit?usp=sharing
私の投稿を読んでくれてありがとう、あなたが解決策を知っていることを願っています:)
c++ - コンテンツが動的に変化する QScrollArea
写真に示すように、いくつかのボタンを含む QScrollArea があります。
レイアウトの考え方は次のとおりです。 1. 左右のボタンは、幅が広すぎる場合にボタンをスクロールするために使用する必要があります。
2.スクロール領域のボタンの数は動的に変更できます。そのようなスペースが存在しない場合は、スクロールにナビゲーション ボタンを使用する必要があります。
ボタンを増やすときの現在の実装では、次のようになります。
ただし、右側には空き領域があるため、次のようになります。
たとえば、もう一度10に増やすと、スクロールバーが表示されます(レイアウトはウィジェットによって制限されているため)。
ウィジェットの手動サイズ変更以外に他の方法があるかどうか知りたいです(UIを変換でき、ボタンのサイズヒントを変更できるため、実際のデザインはより複雑です:(
ScrollAreaTest ウィジェットの実装は次のとおりです。
そして、ここに問題を含む Qt プロジェクト全体があります: https://drive.google.com/file/d/0B-mc4aKkzWlxQzlPMEVuNVNKQjg/edit?usp=sharing
qt - QtでQPushButtonのレイアウトセルを埋める
ボタンの作成時に、セルによって提供されるスペース全体を埋めるか、埋めないかのプッシュボタンが必要ですQGridLayout
(配置値はファイルから読み込まれます)。次のコードで状況を単純化しました。実行時に、ユーザーはボタンの配置を設定できます。ボタンをレイアウト セル全体に配置するか、中央に配置するかのいずれかです。ボタンが指定された NULL 配置で開始されない限り、機能します。それでも、NULL アラインメントで開始する機能が必要です (つまり、ボタンがレイアウト セルのスペースを埋めます)。最初に NULL で位置合わせするとき、ボタンを AlignVCenter 設定にロックするために何が設定されていますか? また、ボタンを null 位置合わせ以外で初期化されたように動作させるにはどうすればよいですか?
Ubuntu 12.04 LTSでQt 4.8を使用しています
python - (Py)Qt: QHBoxLayout のスペーシングは、親ではなく中央ウィジェットの背景を示します
次のコード例を検討してください。
それは持っています:
- A
QMainWindow
、QWidget
中央ウィジェット ( red )として、中央ウィジェットQVBoxLayout
の子として。そこの中に:- A
QTextEdit
(フィラーとして) - A
QWidget
(黒)QHBoxLayout
。その中で:- 二
QLabels
- 二
- A
これは次のようになります。
QHBoxLayout
は の子であるため、ラベル間のスペースは黒であると予想されますが、その間は「見えず」、中央のウィジェットは「透けBlackBar
て見える」ようです。BlackBar
どうしてこれなの?
qt - Qt: HBoxLayout - MainWindow がコンテンツに合わせてサイズ変更されないようにする
QMainWindow
ほとんどの人がコンテンツのサイズを変更する方法を尋ねているようです.
長いテキストに設定QLabel
すると、メインウィンドウが突然大きくなり、なぜそうなるのかわかりません。
次のコード例には、基本的に次のものが含まれています。
- あ
QMainWindow
QWidget
中央ウィジェット としてQVBoxLayout
その子としての A- その
LabelBar
中にA.
- その
はLabelBar
であり、次のQWidget
ものが含まれます。
- あ
QHBoxLayout
- その中に2 つ
QLabel
の s があります。
- その中に2 つ
1 秒後、QTimer
問題を示すためにラベルを長いテキストに設定します。
PyQt サンプル コード: