QWidget - 不确定从哪里开始

时间:2013-02-24 13:09:35

标签: c++ qt qwidget

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

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

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

2 个答案:

答案 0 :(得分:1)

.ui文件是资源文件。如果您的设置没有自动为您执行此操作,则必须使用uic tool.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);
}

答案 1 :(得分:0)

.ui表单小部件。只需在其上调用show()即可。