如何获取UI QPushButton运行时的参考

时间:2015-08-04 12:16:46

标签: qt reference qpushbutton

任何人都知道如何获得QT .ui文件中定义的QPushButton的引用。

我知道可以创建按钮QPushButton btnOK = new QPushButton("OK", this);。但是如何将它与.ui文件中的按钮引用链接起来。

任何建议!

1 个答案:

答案 0 :(得分:0)

假设您有一个描述窗口小部件的MyWidget.ui文件。在此小部件中,您有一个名为btnOk;

的按钮

在您的代码中,您通常具有以下内容:

#include "ui_MyWidget.h"

class MyWidget : public QWidget
{
Q_OBJECT
public:
    MyWidget() : QWidget() {
        m_ui.setupUi(this);
        // now this is what you want:
        m_ui.btnOk->setText("Hello World!");
    }
private:
    Ui::MyWidget m_ui;
}

要使其工作,您必须确保在基于qmake或cmake的项目中列出MyWidget.ui文件,以便自动创建ui_MyWidget.h文件(确保正确设置了包含路径)。

此外,如果您不想根据变量名称找到QPushButton,也可以使用QObject::findChild()。那么您需要的字符串可能是" btnOk",即uic将此名称自动设置为objectName