任何人都知道如何获得QT .ui文件中定义的QPushButton的引用。
我知道可以创建按钮QPushButton btnOK = new QPushButton("OK", this);
。但是如何将它与.ui文件中的按钮引用链接起来。
任何建议!
答案 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
。