问题描述
我正在使用Qt和C ++进行项目。 现在我的问题是:
UI类中是否可以继承?
例如:这是我要继承的小部件
//windowA.h
namespace Ui {
class WindowA;
}
class WindowA : public QWidget
{
Q_OBJECT
public:
explicit WindowA(QWidget *parent = nullptr);
~AddWindow();
QPushButton *button;
};
//windowA.cpp
WindowA::WindowA(QWidget *parent) :
QWidget(parent)
{
button = new QPushButton();
button->setText("Save");
connect(button,SIGNAL (clicked()),this,SLOT (//slot));
qgridLayout *layout = new qgridLayout();
layout->addWidget(button,0);
this->setLayout(layout);
}
这是继承自WindowA
//windowB.h
namespace Ui {
class WindowB;
}
class WindowB : public WindowA
{
Q_OBJECT
public:
explicit WindowB(QWidget *parent = nullptr);
~WindowB();
};
我将如何实现QPushButton,以便可以在两个类中设置不同的文本?
我可以添加QPushButton,但是在WindowA
中设置的文本也将在WindowB
中设置。问题是为WindowB
中的按钮设置了与WindowA
中的按钮设置不同的文本
解决方法
如果我正确理解了您的问题,那么您要做的就是更改您在构造函数中的按钮上设置的文本:
WindowB::WindowB(QWidget *parent) :
WindowA(parent)
{
button->setText("Something else!");
}