layout = new QVBoxLayout(this);
menuBar = new QMenuBar(this);
menuBar->setGeometry(QRect(0, 0, 400, 24));//设置窗口大小
QMenu* menu = menuBar->addMenu(tr(“&File”));
actionNew = menu->addAction(tr(“&New”));
actionNew->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
//对话框中添加菜单
layout->setMenuBar(menuBar);
setLayout(layout);
DockWidget停靠窗口
setFeatures();设置停靠窗体的特性
参数QDockWidget::DockWidgetFeatures 指定停靠窗体的特性
QDockWidget::DockWidgetClosable:停靠窗体可关闭;
QDockWidget::DockWidgetMovable:停靠窗口可移动;
QDockWidget::DockWidgetFloatable:停靠窗口可浮动;
QDockWidget::AllDockWidgetFeatures:表示停靠窗口拥有所有的特性
QDockWidget::NoDockWidgetFeatures:不移动,不可关闭,不可浮动
setAllowedAreas();设置停靠窗体和停靠窗口的区域
Qt:LeftDockWidgetArea:可在主窗口的左侧停靠;
Qt:RightDockWidgetArea:可在主窗口的右侧停靠;
Qt:TopDockWidgetArea:可在主窗口的顶端停靠;
Qt:BottomDockWidgetArea:可在主窗口的底端停靠;
Qt:AllDockWidgetArea:可在主窗口(以上四个)的任意部位停靠;
Qt:NoDockWidgetArea:只可停靠在插入处;
QstackWidget堆栈窗体,多与列表框QListWidget及下拉列表框QcomboBox配合使用。
connect(list, SIGNAL(currentRowChanged(int)), stack, SLOT(setCurrentIndex(int)));//实现选择显示窗体,currentRowChanged触发信号,信号槽setCurrentIndex
布局中QHBoxLayout、QVBoxlayout和QGridLayout,分别是水平排列布局。垂直布局,网格排列布局。
布局常用的还有addwidget和addlayout。
void addWidget
(
QWidget *widget, //需要插入的控件对象
int fromRow, //插入的行
int fromColumn,//插入的lie
int rowSpan,//表示占有的行数
int columnSpan,//表示占用的列数
Qt::Alignment alignment=0//描述各个控件的对齐方式
)
void addLayout
(
QLayout *layout, //表示需要插入的子布局对象
int row, //插入的起始行
int column, //插入的起始列
int rowSpan, //表示占用的行数
int columnSpan,//表示占用的列数
Qt::Alignment alignment=0 //指定对齐方式
)