1. 菜单栏 QMenuBar
*菜单栏最多只能有一个
+ QMenuBar * bar = menuBar(); setMenuBar(bar);
+ 创建菜单
* QMenu * fileMenu = bar->addMenu("文件");
+ 创建菜单栏目
* QAction * newAction = fileMenu->addAction("新建");
+ 添加分隔符
* fileMenu->addSeparator();
2. 工具栏 QToolBar
* 工具栏可以有多个
+ QToolBar * toolBar = new QToolBar(this);
+ addToolBar(toolBar);
* 可选参数 默认停靠范围
+ addToolBar(Qt::BottomToolBarArea,toolBar);
* 只允许左右停靠
+ toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
* 取消浮动
+ toolBar->setFloatable(false);
* 设置禁止移动
+ toolBar->setMovable(false);
* 给工具栏设置栏目
+ toolBar->addAction("字符串"或者QAction);
* 给工具栏添加控件
+ toolBar->addWidget(QPushButton按钮);
3. 状态栏 QStatusBar
* 状态栏最多只能有一个
+ QStatusBar * stBar = statusBar();
+ setStatusBar(stBar);
* 添加标签控件
+ QLabel * label = new QLabel("左侧提示的信息",this);
+ QLabel * label1 = new QLabel("右侧提示的信息",this);
+ stBar->addWidget(label);
+ stBar->addPermanentWidget(label1);
4. 铆接部件 QDockWidget
* 铆接部件可以有多个
+ QDockWidget * dockWidget = new QDockWidget("浮动",this);
放置位置下面 如果没有中心部件默认占满
+ addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
+ 只允许上下
* dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
5. 中心部件
* 中心部件也只能有一个
+ 文本窗口 QTextEdit
+ QTextEdit * edit = new QTextEdit(this);
+ setCentralWidget(edit); //设置中心部件
6. 资源文件
1. 将图片文件文件夹拷贝到项目下
2. 右键项目->添加新文件->Qt->Qt recourse File
3. res 生成 res.qrc
4. 右键res.qrc->open in editor 编辑资源
5. 添加前缀 添加文件
6. 使用 ": + 前缀名 + 文件名"
小总结
+ 只能有一个的是set 可以允许多个是add
7 对话框
+ 模态对话框 不可以对其他窗口进行操作
* QDialog dlg(this);
* dlg.exec();
* 消息对话框
+ 错误对话框 QMessageBox::critical(this,"critical","错误");
+ 信息对话框 information
+ 提问对话框 question
+ 警告对话框warning
+ 颜色对话框
+ QColor a = QColorDialog::getColor(QColor(255,0,0));
+ 文件对话框 最后一个是过滤
+ QString str = QFileDialog::getOpenFileName(this,"打开文件","./","(*.cpp)");
+ 字体对话框
+ bool flag;
+ QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",12));
+ setFont(font);//设置字体
+ 非模态对话框 可以对其他窗口进行操作
* QDialog *dlg2 = new QDialog(this); //为了确保不释放,开在堆上
* dlg2->show();
* dlg2->setAttribute(Qt::WA_DeleteOnClose);//55号 用于按关闭键自动释放[QWidge的对象树是在关闭总的窗口才会全部释放]
8. 列表控件 listWidget
+ QListWidgetItem * item = new QListWidgetItem("锄禾日当午");
+ ui->listWidget->addItem(item); //添加进去
+ item->setTextAlignment(Qt::AlignCenter); //居中
9. ui窗口自布局
1. Spacers 弹簧 Widget div盒子
2. Group Box 分组[适用于Radio Button]
3. 主窗口设置垂直布局后可以在sizePolicy->垂直策略->Fixed来使组件高度合适
4. 如果找不到某个组件的信号或者槽,找基类
10 自定义组件
1. add new -> 设计师类
2. 使用自定义组件
* 查看基类[如widget] 从界面库中拖出来一个widget组件,然后点击提升为,写入类名
+ [设置全局后可以直接在右键中显示]
3 自定义组件只有同基类才能被提升