我需要將我的自定義小部件放置在我的MainWindow中的指定位置。Qt將小部件放置在自定義位置
在屏幕上我標記了紅色的矩形「小部件」放置在我想放置我的小部件的地方。我想在QmenuBar和QToolBar之上放置小部件。
我試過setCentralWidget,但它在整個窗口上展開了小部件。
圖片展示我的問題,我的小部件的
代碼:
timers.cpp
#include "QtWidgets"
#include "timers.h"
static QLabel *createDragLabel(const QString &text, QWidget *parent)
{
QLabel *label = new QLabel(text, parent);
label->setAutoFillBackground(true);
label->setFrameShape(QFrame::Panel);
label->setFrameShadow(QFrame::Raised);
return label;
}
Timers::Timers(QWidget *parent) : QWidget(parent)
{
QLabel *wordLabel = createDragLabel("dupppa", this);
}
mainwindow.cpp
MainWindow::MainWindow()
{
initMenu();
initButtons();
TrackWindow *trackWindow = new TrackWindow();
setCentralWidget(trackWindow);
Timers *firstTimer = new Timers();
//setCentralWidget(firstTimer); // suck
}
我不知道是否有可能有自由浮動小窗口重疊您的菜單。一般來說,只能在父窗口部件的邊界內設置位置,並通過父座標中的'QWidget :: move(int x,int y)'來設置它。因此,您無法將該小部件設置爲中央小部件,您需要將父級設置爲也是菜單和工具欄小部件的父級的「QWindow」。 – xander