Qt6学习笔记七(ToolButton、RadioButton、GroupBox、CheckBox、ListWidget、TreeWidget、TableWidget)

简介: Qt6学习笔记七(ToolButton、RadioButton、GroupBox、CheckBox、ListWidget、TreeWidget、TableWidget)

按钮组

一、工具按钮ToolButton

toolbutton:多用于工具栏,提供命令或选项,一般不会带文字在按钮上,用来显示图标

类似word种的这样的工具栏

pushbutton:是普通按钮,可以提供文字,图标都在按钮上。可以设置一定的界面风格等

toolButton的功能比pushbutton更多一些。

二、单选按钮Radio Button和分组框GroupBox

拖4个单选框,如下图

但是点击四个中任意一个,其他就会消失,应该要将男女为一组,已婚未婚为一组

使用GroupBox对它们进行两两分组,只需要把同一组的放入同一个GroupBox里面就行了

如果要设置默认值(通过程序实现,一般ui只进行布局)

先将 单选按钮“男” , 对象改名为rBtnMan

将 单选按钮“女”,对象改名为rBtnWoman

//设置单选按钮  “男”默认选中
ui->rBtnMan->setChecked(true);
//选中单选按钮“女”  打印信息
connect(ui->rBtnWoman,&QRadioButton::clicked,[=](){
   qDebug()<<"select woman!";
});

三、多选框CheckBox

用groupBox将几个CheckBox放在一起

设置其中一个多选框的对象名为cBox

//多选按钮  2是选中, 0是未选中
connect(ui->cBox,&QCheckBox::stateChanged,[=](int state){
   qDebug()<<state;
});

如果设置tristate,那么就是有3种状态

0:未选 1:半选 2:选中

总结

Item Widget

四 、List Widget 列表容器

//利用listWidget写诗
QListWidgetItem *item = new QListWidgetItem("锄禾日当午");
//将一行的诗放入listWidget控件中
ui->listWidget->addItem(item);
//设置listWidgetitem的对齐格式
item->setTextAlignment(Qt::AlignHCenter);//(查阅文档)
//在listWidget中利用addItems一次性加入多行。
QStringList list;
list<<"锄禾日当午"<<"汗滴禾下土"<<"谁知盘中餐"<<"粒粒皆辛苦";//QStringList重载了<<运算符,每次都会自动换行
ui->listWidget->addItems(list);

五、Tree Widget 树控件

要实现这种效果

//treeWidget树控件使用
//设置水平头
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");//QStringList()是匿名对象
//加载顶层节点(根节点)
QTreeWidgetItem *liItem = new QTreeWidgetItem(QStringList()<<"力量");
QTreeWidgetItem *minItem = new QTreeWidgetItem(QStringList()<<"敏捷");
QTreeWidgetItem *zhiItem = new QTreeWidgetItem(QStringList()<<"智力");
ui->treeWidget->addTopLevelItem(liItem);
ui->treeWidget->addTopLevelItem(minItem);
ui->treeWidget->addTopLevelItem(zhiItem);
//追加子节点
QTreeWidgetItem *l1 = new QTreeWidgetItem(QStringList()<<"刚被猪"<<"前排坦克,能在吸收伤害的同时造成可观的范围输出");
liItem->addChild(l1);

六、Table Widget 表格控件

要实现这样的效果

//TableWidget控件
//设置列数
ui->tableWidget->setColumnCount(3);
//设置水平表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
//设置行数
ui->tableWidget->setRowCount(5);
//设置正文
QStringList nameList;
nameList<<"亚瑟"<<"赵云"<<"张飞"<<"关羽"<<"花木兰";
QList<QString> sexList;//和上面QStringList是一样的
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[i]));
    ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18)));
}


相关文章
|
20天前
【Qt 学习笔记】按钮实现helloworld | 信号与槽概述
【Qt 学习笔记】按钮实现helloworld | 信号与槽概述
22 0
|
4月前
|
C++
Qt6学习笔记九(自定义控件封装)
Qt6学习笔记九(自定义控件封装)
64 0
|
20天前
|
安全 编译器 开发者
【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式
【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式
34 0
|
4月前
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
42 0
|
20天前
|
开发框架 数据可视化 前端开发
【Qt 学习笔记】Qt控件概述
【Qt 学习笔记】Qt控件概述
21 0
|
20天前
|
编译器 C++ 索引
【Qt 学习笔记】详解Qt中的信号和槽
【Qt 学习笔记】详解Qt中的信号和槽
30 0
|
20天前
【Qt 学习笔记】输入框实现helloworld | QLineEdit的使用
【Qt 学习笔记】输入框实现helloworld | QLineEdit的使用
20 1
|
20天前
|
XML 自然语言处理 C++
【Qt 学习笔记】使用两种方式实现helloworld
【Qt 学习笔记】使用两种方式实现helloworld
23 1
|
4月前
|
数据安全/隐私保护
Qt6学习笔记六(界面布局)
Qt6学习笔记六(界面布局)
36 0
|
4月前
Qt6学习笔记二(信号槽)
Qt6学习笔记二(信号槽)
38 0

推荐镜像

更多