QT のメイン ウィンドウがあり、その上に、下の画像のように、ウィジェット (ボタンを含む) を追加したいと考えています。ドック ウィジェットを追加すると、別の行に追加されますが、既存のメイン ウィンドウにオーバーレイとして追加されません。
入力はありますか?
2 に答える
0
これには QStackedLayout の使用を検討する必要があります。
于 2014-01-18T17:03:59.747 に答える
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();
}
于 2013-10-18T00:11:11.037 に答える