以下是我可以用來呈現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