qt界面主窗口布局

qt layout


一、如果当前界面为QWidget类

1. 主界面是QGridLayout、QVBoxLayout或是QHBoxLayout类,则直接在建立主界面对象时,将父窗口设为this即可,例如:

QVBoxLayout *mainLayout = newQVBoxLayout(this);

2. 主界面是QSplitter类,在创建QSplitter对象时,不指定其父窗口,然后新建一个Layout对象,其父窗口设为this,然后加载QSplitter对象,例如:

QVBoxLayout *mainlayout = newQVBoxLayout(this);
QSplitter*splitterMain= newQSplitter(Qt::Vertical,0);
mainlayout->addWidget(splitterMain);

二、如果当前界面为QMainWindow类

1. 主界面是QGridLayout、QVBoxLayout或是QHBoxLayout类,首先创建一个QWidget类,然后以这个类为父窗口创建主layout类,最后将此QWidget对象设为主Widget,如:

QWidget*mainWidget=new QWidget;
QVBoxLayout*mainLayout= newQVBoxLayout(mainWidget);或mainWidget->setLayout(mainLayout);
setCentralWidget(mainWidget);

2. 主界面是QSplitter类,在创建QSplitter对象时,不指定其父窗口,然后将此QSplitter对象设为主Widget,如:

QSplitter*splitterMain= newQSplitter(Qt::Horizontal,0);
setCentralWidget(splitterMain);