Qt学习(4)控件

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
在这里插入图片描述

最终成果
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值