以下是我可以用来呈现isuue的最小示例。使用衍生Qt小部件类时的父问题(?)
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
QVBoxLayout *vLayout = new QVBoxLayout(this);
QGroupBox *gb = new QGroupBox;
// MyGroupBox *gb = new MyGroupBox;
vLayout->addWidget(gb);
QPushButton *btB = new QPushButton;
vLayout->addWidget(btB);
}
上面的代码产生图像的上方,它只是一个组框和垂直布局的按钮。
如果我用MyGroupBox
代替QGropBox
,那么它不会再显示那里。下面的代码产生下面的图像。
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
QVBoxLayout *vLayout = new QVBoxLayout(this);
// QGroupBox *gb = new QGroupBox;
MyGroupBox *gb = new MyGroupBox;
vLayout->addWidget(gb);
QPushButton *btB = new QPushButton;
vLayout->addWidget(btB);
}
凡mygroupbox.h
(构造函数体是空的.cpp文件):
#include <QWidget>
class MyGroupBox : public QWidget
{
Q_OBJECT
public:
explicit MyGroupBox(QWidget *parent = 0);
signals:
public slots:
};
为什么组框中没有显示呢?如何使其显示?
您正在添加一个空的小部件,所以没有什么可显示的。如果你想证明有或没有,请尝试从'QFrame'继承,并调用'setFrameStyle(QFrame :: Panel)',这样你就可以得到一个边框,该部件是 –
这是用C++ 11标记的,但它只是C++ 98 :(Qt + C++ 11看起来比这更好,更不详细! –
@KubaOber请感谢我的C++ 11的礼貌,http:// stackoverflow。COM /问题/ 38130827/quiloader-插件 - 未示出 - 如果加载式衍生基QWidget的。 – KcFnMi