0

私は C++ を使用して QT で大学のプロジェクトを行っています。私は基本的にそれをすべて完了しましたが、繁栄を終わらせたいと思っています! ゲームの終わりに、最後の部屋に到達してコントロール パネルを押すと、キーパッドが表示されます (これは、QWidget として作成された .ui レイアウトです)。アクセス コードは、以前の部屋でランダムに生成された 4 桁の数字です。

とにかく、キーパッドで QWidget をポップアップし、ユーザーに 4 つのボタンを押してもらい、各ボタンが QString を返すようにしてから、確認ボタンを押します。一致した場合、ゲームは終了します。そうでない場合は、部屋に戻ります。

ウィジェットを呼び出す方法がわかりません! とにかく.uiフォームをQWidgetオブジェクトに割り当てる方法がわからないため、APIは実際には役に立ちません。

4

2 に答える 2

1

.uiファイルはリソース ファイルです。セットアップでこれが自動的に行われない場合は、uicツール.uiを使用してファイルを C++ ソース コード に変換する必要があります。

 foo.ui -> ui_foo.h

このヘッダーには、ウィジェットを作成するクラスが含まれており、作成された各メンバーにアクセスするためのメンバーがあります。

class Ui_Foo {
   setupUi(QWidget *) { ...
   }
}

namespace Ui {
    class Foo: public Ui_Foo {};
} // namespace Ui

のインスタンスがUi::FooあなたのFooWidget

// FooWidget.h
//
class FooWidget 
: public QWidget {
    FooWidget(QWidget *);
    Ui::Foo  mUi;
}

そしてそれsetupUiはあなたのコンストラクターで呼び出されますFooWidget

// FooWidget.cpp
// 
FooWidget::FooWidget(QWidget *parent)
: QWidget(parent)
{
    mUi.setupUi(this);
}
于 2013-02-24T14:51:46.020 に答える
0

.ui フォームウィジェットです。その上で show() を呼び出すだけです。

于 2013-02-24T13:11:57.423 に答える