我有一个QT主窗口,除此之外我想添加一个小部件(包含按钮),类似于下图。 如果我添加停靠窗口小部件,它将添加到单独的行中,但不会作为叠加层添加到现有主窗口中。 有什么输入吗?
答案 0 :(得分:0)
最简单的方法是将叠加窗口小部件的父窗口设置为主窗口。但是因为它不会在任何布局中,所以你必须自己处理它的几何。如果您想要多个叠加层,最后添加的叠加层将是最重要的。
#include <QApplication>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow *window = new QMainWindow();
QWidget *centralWiddget = new QWidget();
window->setCentralWidget(centralWiddget);
QVBoxLayout *layout = new QVBoxLayout(centralWiddget);
QPushButton *button = new QPushButton("Button in a layout");
layout->addWidget(button);
QPushButton *overlayButton = new QPushButton("Button overlay");
overlayButton->setParent(window);
overlayButton->setGeometry(40, 40, 120, 30)
window->show();
return app.exec();
}
答案 1 :(得分:0)
你应该考虑使用QStackedLayout这样做。