0

我正在用 C++ 在 QT 中做一个大学项目。我基本上都完成了,但我有点想结束繁荣!在游戏结束时,您到达最后一个房间并按下控制面板并出现一个键盘(这是一个作为 QWidget 创建的 .ui 布局) - 访问代码是较早房间中随机生成的 4 位数字。

无论如何,我想用键盘弹出 QWidget,让用户按下 4 个按钮——每个按钮都会返回一个 QString——然后按下确认按钮。如果匹配,则游戏结束。如果没有,就回房间。

我只是不知道如何调用小部件!API 并没有真正的帮助,因为我看不到将 .ui 表单分配给 QWidget 对象。

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 回答