Qtデスクトップアプリでは、ユーザーがデータを入力するためのダイアログが必要です。だから私は選択します:新しいファイル| Qt | デザイナフォームクラス、ボタン下部のダイアログ、適切な名前を付けます。
新しいダイアログのコンストラクターで、いくつかのラベルと行の編集を作成し、それらをグリッドレイアウトに追加します。このような:
ui->setupUi(this);
partNoLabel = new QLabel(tr("&Part No:"));
partDescLabel = new QLabel(tr("&Description:"));
partNoLineEdit = new QLineEdit();
partDescLineEdit = new QLineEdit();
partNoLabel->setBuddy(partNoLineEdit);
partDescLabel->setBuddy(partDescLineEdit);
supplierLabel = new QLabel(tr("Supplier"));
supPartNoLabel = new QLabel(tr("Part No"));
supplierLineEdit = new QLineEdit();
supPartNoLineEdit = new QLineEdit();
supplierLabel->setBuddy(supplierLineEdit);
supPartNoLabel->setBuddy(supPartNoLineEdit);
QGridLayout *dlgLayout = new QGridLayout;
dlgLayout->addWidget(partNoLabel, 0, 0);
dlgLayout->addWidget(partNoLineEdit, 0, 1);
dlgLayout->addWidget(partDescLabel, 1, 0);
dlgLayout->addWidget(partDescLineEdit, 1, 1);
dlgLayout->addWidget(supplierLabel, 2, 0);
dlgLayout->addWidget(supplierLineEdit, 2, 1);
dlgLayout->addWidget(supPartNoLabel, 3, 0);
dlgLayout->addWidget(supPartNoLineEdit, 3, 1);
setLayout(dlgLayout);
setWindowTitle("New part");
表示されたとき、しかし-それはひどいように見えます:
サイズを変更すると、見た目が悪くなります。
これは明らかに受け入れられません。これを修正するにはどうすればよいですか、またはこれをどのように行うべきでしたか?
修正バージョン:
私はGáborAngyalのアドバイスに従い、手動でそれを行い、コード内のボタンボックスを削除および追加しました。また、この記事で説明されているように、FormLayoutを使用するように変更しました:http://doc.qt.digia.com/qq/qq25-formlayout.html
結果のフォームは次のようになります。
それでも微調整が必要ですが、少なくともボタンは正しい場所にあります:D。
問題は、レイアウトを手動で作成したのに、ボタンボックスを追加しなかったことです。デザイナを使用してフォーム全体を作成するか、すべてを手動で行うことをお勧めしますが、2つを混在させないでください。
デザイナーと
マニュアル
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加