QMainWindow
QMainWindow包含菜单栏(menu bar),多个工具栏(too bars), 多个链接部件(dock widgets), 一个状态栏(status bar) ,一个中心部件(central widget)
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->resize(500, 400);
//菜单栏
QMenuBar * bar = menuBar();
setMenuBar(bar);
//菜单返回值
QMenu* fileMenu = bar->addMenu("文件");
QMenu* edition = bar->addMenu("编辑");
//创建菜单项
QAction* newAction = fileMenu->addAction("新键");
fileMenu->addSeparator();
QAction* newAction2 = fileMenu->addAction("打印");
//工具栏
QToolBar * toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea, toolBar);
//设置停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动
toolBar->setMovable(false);
//设置内容
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(newAction2);
//添加控件
QPushButton *btn = new QPushButton("aa", this);
toolBar->addWidget(btn);
//状态栏
QStatusBar * stBar = statusBar();
setStatusBar(stBar);
//标签控件
QLabel * label = new QLabel("提示信息", this);
stBar->addWidget(label);
//铆接不见(浮动窗口)
QDockWidget * deckWidget = new QDockWidget("浮动", this);
addDockWidget(Qt::BottomDockWidgetArea, deckWidget);
deckWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
//创建中心部件
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
}
资源文件
- 将图片文件拷贝到项目位置下面
- 右键项目-》添加新文件-》QT->Qt resourse file
- res生res.qrc
- open in editor 编辑资源
- 添加前缀,添加文件
- 使用 “:+前缀名+文件名”
对话框
分类
- 模态对话框,不可以对其他窗口进行操作(阻塞)
-
- QDialog dlg(this);
- dlg.exec();
- 非静态对话框,可以对其它窗口进行操作
-
- 防止一闪而过,创建到堆区
- QDialog * dlg = new QDialog(this);
- dlg->show();
- dlg->setAttribute(Qt::WA_WA_DeleteOnClose);