1:按钮组
1.1:QPushButton 常用按钮
1.2:QToolButton 工具按钮 可以用来显示图片 显示文字
修改风格 toolButtonStyle 例如凸起风格 autoRaise
1.3:radioButton 单选按钮 默认选项设置 ui->rBtnMan->setChecked(true);
1.4: checkbox多选按钮,监听状态,2 选中 1 半选 0 未选中
2:QListWidget 列表容器
2.1:QListWidgetItem * item 一行内容
2.2:ui->listWidget ->addItem ( item )
2.3:设置居中方式item->setTextAlignment(Qt::AlignHCenter);
2.4:可以利用addItems一次性添加整个诗内容
例:
// //利用listWidget写诗
// QListWidgetItem *item = new QListWidgetItem("锄禾日当午");
// //将一行诗放入到listWidget控件中
// ui->listWidget->addItem(item);
// //设置对齐方式 例如居中
// item->setTextAlignment(Qt::AlignHCenter);
3:QTreeWidget 树控件
3.1:设置头
3.1.1:ui->treeWidget->setHeaderLabels(QStringList()<< “英雄”<< “英雄介绍”);
3.2:创建根节点
3.2.1:QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< “力量”);
3.3:添加根节点 到 树控件上
3.3.1:ui->treeWidget->addTopLevelItem(liItem);
3.4:添加子节点
3.4.1:liItem->addChild(l1);
例:
//treeWidget树控件使用
//设置 水平头
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");
QTreeWidgetItem *liItem = new QTreeWidgetItem(QStringList()<<"力量");
QTreeWidgetItem *miItem = new QTreeWidgetItem(QStringList()<<"敏捷");
QTreeWidgetItem *ziItem = new QTreeWidgetItem(QStringList()<<"智力");
//加载顶层节点
ui->treeWidget->addTopLevelItem(liItem);
ui->treeWidget->addTopLevelItem(miItem);
ui->treeWidget->addTopLevelItem(ziItem);
//追加子节点
QStringList heroL1,heroL2;
heroL1 << "刚被猪" << "前排坦克,能在吸收伤害的同时造成可观的范围输出";
heroL2 << "船长" << "前排坦克,能肉能输出能控场的全能英雄";
QTreeWidgetItem *l1 = new QTreeWidgetItem(heroL1);
liItem->addChild(l1);
QTreeWidgetItem *l2 = new QTreeWidgetItem(heroL2);
liItem->addChild(l2);
QStringList heroM1,heroM2;
heroM1 << "月骑" << "中排物理输出,可以使用分裂利刃攻击多个目标";
heroM2 << "小鱼人" << "前排战士,擅长偷取敌人的属性来增强自身战力";
QTreeWidgetItem *m1 = new QTreeWidgetItem(heroM1);
miItem->addChild(m1);
QTreeWidgetItem *m2 = new QTreeWidgetItem(heroM2);
miItem->addChild(m2);
QStringList heroZ1,heroZ2;
heroZ1 << "死灵法师" << "前排法师坦克,魔法抗性较高,拥有治疗技能";
heroZ2 << "巫医" << "后排辅助法师,可以使用奇特的巫术诅咒敌人与治疗队友";
QTreeWidgetItem *z1 = new QTreeWidgetItem(heroZ1);
ziItem->addChild(z1);
QTreeWidgetItem *z2 = new QTreeWidgetItem(heroZ2);
ziItem->addChild(z2);
4:QTableWidget 表格控件
4.1:设置列数
4.1.1:ui->tableWidget->setColumnCount(3);
4.2 设置水平表头
4.2.1 ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<“姓名”<< “性别”<< “年龄”);
4.3 设置行数
4.3.1 ui->tableWidget->setRowCount(5);
4.4 设置正文
4.4.1 ui->tableWidget->setItem(0,0, new QTableWidgetItem(“亚瑟”));
例:
//TableWidget控件
//设置列数
ui->tableWidget->setColumnCount(3);
//设置水平表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
//设置行数
ui->tableWidget->setRowCount(5);
//设置正文
//ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
QStringList nameList;
nameList<<"亚瑟"<<"妲己"<<"安其拉"<<"孙悟空"<<"芈月";
QList<QString> sexList;
sexList <<"男"<<"女"<<"女"<<"男"<<"女";
for(int i=0;i<5;i++)
{
int col = 0;
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
//int转为QString
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));
}
5:其他控件介绍
5.1:stackedWidget 栈控件
5.1.1:ui->stackedWidget->setCurrentIndex(1);
5.2:下拉框
5.2.1:ui->comboBox->addItem(“奔驰”);
ui->comboBox->addItem(“宝马”);
ui->comboBox->addItem(“特斯拉”);
5.3:QLabel 显示图片
5.3.1:ui->lbl_Image->setPixmap(QPixmap(":/Image/butterfly.png"))
5.4:QLabel显示动图 gif图片
5.4.1:ui->lbl_movie->setMovie(movie);
5.4.2:movie->start();
6 自定义控件封装
6.1 添加新文件 - Qt – 设计师界面类 (.h .cpp .ui)
6.2 .ui中 设计 QSpinBox和QSlider 两个控件
6.3 Widget中使用自定义控件,拖拽一个Widget,点击提升为,点击添加,点击提升
6.4 实现功能,改变数字,滑动条跟着移动 ,信号槽监听。
6.5 提供 getNum 和 setNum对外接口
6.6 测试接口
自定义类的UI
Widget的UI
最终成果