C++ Qt 继承自自定义小部件
C++ Qt inherit from custom widget
我正在使用 Qt 和 C++ 开发一个项目。
现在我的问题是:
在UI类中是否可以继承?
例如:这是我要继承的Widget
//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, 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!");
}
我正在使用 Qt 和 C++ 开发一个项目。 现在我的问题是:
在UI类中是否可以继承?
例如:这是我要继承的Widget
//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, 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!");
}