PDA

View Full Version : How to display Widgets in the midle of a Window



revellix
24th July 2011, 21:25
Following problem:

I want to display a widget in the middle of a QMdiSubWindow. I also want to use Tabs later. Therefore I add a QStackWidget to a QMdiSubWindow. The first QStackWidget is a Widget I constructed called inAOrifice. Now in the Fullscreenmode the inAOrifice Widget isnt that big and I want to display it in the middle of the QMdiSubWindow, in the QStackWidget respectively. It always appears in the left upper corner. Any suggestions? I have tried a lot already. Cant see my mistake…

Most common code yet …


MainChild::MainChild(QWidget *parent) : QMdiSubWindow(parent)
{
this->setAttribute(Qt::WA_DeleteOnClose);

inAOrifice = new inputAOrifice(this);
stackLayout = new QVBoxLayout(this);
stackWidget = new QStackedWidget;

stackWidget->addWidget(inAOrifice);
stackLayout->setAlignment(stackWidget,Qt::AlignCenter);
this->setWidget(stackWidget);

}

mvuori
24th July 2011, 21:45
One bug that I see is that you don't seem to add any items in your layout, so centering it does not help. You probably need to add your "orifice" into it.

Santosh Reddy
25th July 2011, 04:03
For you custom widget to be centered, you need to create an empty QWidget, set a layout on to the empty widget, add custom widget on to the layout, and set center alignment to the custom widget, something like this.

QWidget * widget = new QWidget;
QGridLayout * layout = new QGridLayout(widget);
QWidget * inAOrifice = new inputAOrifice(widget);
layout->addWidget(inAOrifice);
layout->setAlignment(inAOrifice, Qt::AlignCenter);
// now add widget to the stacked widget

revellix
25th July 2011, 15:48
Santosh Reddy... very big thanks!!!!