菜单栏
- 菜单栏最多有一个
- 创建菜单栏:QMenuBar * menuBar = MenuBar()
- 将菜单栏添加到当前窗口中:setMenuBar(menuBar)
- 创建菜单:QMenu * filemenu = menubar->addMenu(“文件”)
- 创建菜单项:QMenuAction * newAction = filemenu->addAction(“打开”);
- 菜单项和菜单项之间添加分隔符:filemenu->addSeperator();
工具栏
- 工具栏可以有多个
- 创建工具栏:QToolBar * toolbar = new QToolBar(this);
- 将工具栏放到当前窗口中 : addToolBar(默认停靠区域,toolbar);
- 设置可停靠区域 设置是否可浮动 设置是否可移动
- 在工具栏中添加菜内容 或者 控件
状态栏
- 状态栏只能有一个
- 创建状态栏:QStatusBar * stBar = statusBar();
- 将状态栏放到窗口中:setStatusBar(stBar);
- 状态栏中放置标签控件: QLabel * label = new QLabel(“左侧信息”, this); stBar->addWidget(label) ;放在左侧位置 stBar->addPermanentWidget(label)
铆接部件(浮动窗口)
- 可以由多个
- 创建浮动窗口 QDockWidget * dockWidget = new QDockWidget(this);
- 将浮动窗口添加到当前窗口中 addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
- 设置浮动窗口可浮动的位置 dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea)
中间部件
- 只能有一个,例如:中间位置放置记事本
- 创建记事本:QTextEdit * edit = new QTextEdit();
- 将中间部件放在窗口中 setCenterWidget(edit);
资源文件
- 将资源文件拷贝到项目文件夹下
- 创建新文件:右键项目–>点击添加新文件–>Qt下Qt resource file–>给文件起名字res–>默认生成res.qrc
- 打开资源文件:右键资源文件–>open in editor 编辑资源文件
- 编辑资源:先添加前缀 再添加文件
- 使用资源:路径是 “: + 前缀名 + 文件名”
对话框
- 分类:模态对话框(不允许对其他窗口进行操作)(阻塞),非模态对话框(允许对其他窗口进行操作)
- 创建模态对话框:QDialog dlg(this); dlg.exec();//阻塞
- 创建非模态对话框:防止一闪而过:创建到了堆区(指针变量)
QDialog * dlg2 = new QDialog(this);
dlg2->show();
dlg2->setAttribute(Qt:WA_DeleteOnClose);//55号属性,关闭窗口时释放资源
标准对话框
-
QMessageBox: 静态成员函数,不用创建对象就可以直接访问
-
错误对话框,信息对话框,提问对话框,警告对话框
-
参数:
参数1:父类
参数2:对话框名称
参数3:对话框显示的信息
参数4:对话框中的按键
参数5:对话框中和回车关联的按键 -
返回值:StandardButton类型,可以通过函数的返回值来判断当前点击的是哪一个按钮
其他标准对话框
- 颜色对话框:QColorDialog::getColor()
- 文件对话框:QFileDialog::getOpenFileName(父亲,标题,默认路径,过滤文件)
- 字体对话框:QFontDialog::getFont()
界面布局
- 实现登录窗口
- 布局:水平 垂直 栅格
- 给用户名 密码 按钮等进行布局
- 默认窗口和控件之间有9间隙,可以改变窗口中的layoutLeftMargin等改变间隙
- 利用弹簧进行布局
- 窗口的大小 可以通过修改垂直策略 水平策略来进行修改
按钮组
- QPushButton:一般用来显示文字
- QToolButton: 显示图片,也可以显示文字,toolButtonStyle:修改风格,凸起风格:autoRaise
- QRadioButton:单选按钮,设置默认状态:ui->rBtnMan->setChecked(true)
- QCheckBox:多选按钮,监听状态:2,选中;1:半选;0:未选
列表容器QListWidget
- 设置一行内容 :QListWidgetItem * item = new QListWidgetItem(“锄禾日当午”);
将这一行内容添加到列表容器中:ui->listWidget->addItem(item);
设置该行的格式为水平居中:item->setTextAlignment(Qt::AlignHCenter); - 一次性设置多行内容:QStringList list;
list << “锄禾日当午” << “汗滴禾下土”;
添加到列表容器中ui->listWidget->addItems(list);
树控件QTreeWidget
- 设置头:ui->treeWidget->setHeaderLabels(QStringList() << “fas” << “dfas”);
- 创建根节点:QTreeWidgetItem * item = new QTreeWidgetItem(QStringList() << “sfda”);
- 将根节点加入到根控件上:ui->treeWidget->addTopLevelItem(item);
- 创建子节点:QTreeWidgetItem * it = new QTreeWidgetItem(QStringList() << “sfda” <<“fds”);
- 将子节点添加到控件上:item->addChild(it);
表格控件QTableWidget
- 设置表格列数:ui->tableWidget->setColumnCount(3);
- 设置水平表头:ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<“name”<<“age”<<“sex”)
- 设置表格行数:ui->tableWidget->setRowCount(5);
- 设置表格内容:ui->tableWidget->setItem(0,0,QTableWidgetItem(“关羽”))
其他控件介绍
- Stacked Widget:栈控件,ui->stackedWidget->setCurrentIndex(0);
- Combo Box:下拉框控件,ui->comboBox->addItem(“baoma”);
- QLabel:显示图片,ui->label->setPixmap(QPixmap(“路径名”))
- QLabel:显示动图,ui->label_movie->setMovie(movie); movie->start();
来源:CSDN
作者:qq_31672701
链接:https://blog.csdn.net/qq_31672701/article/details/104331314