当前位置:首页 >> 技术栈专业化分层 >> 【Qt】常见控件,6210s(qt控件大全)

【Qt】常见控件,6210s(qt控件大全)

cpugpu芯片开发光刻机 技术栈专业化分层 2
文件名:【Qt】常见控件,6210s 【Qt】常见控件

文章目录 按钮组QListWidget列表容器TreeWidget树控件TableWidget 表格控件其它控件介绍下拉框QLabel显示图片和动图 自定义控件封装

按钮组

QPushButton 常用按钮

QToolButton 工具按钮: 用于显示图片

如果想显示文字:修改风格:toolButtonStyle =>选择TextBesideIcon凸起风格:autoRaise选中即可

radioButton 单选按钮 => 多个按钮通常配合Group Box组件一起使用

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


checkbox:多选按钮,监听状态。2表示选中 1表示半选 0表示未选中,通常配合group box使用

开启半选状态

点一下:半选 再点一下:选中


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

stateChanged有一个int参数,所以需要在lambda当中接收


QListWidget列表容器 QListWidgetItem * item = new QListWidgetItem("锄禾日当午");//将一行诗放入到listWidget控件中ui->listWidget->addItem(item);item->setTextAlignment(Qt::AlignHCenter); //设置水平居中


方式2

QStringList list ; list << "锄禾日当午" << "旱地和下土" << "谁知盘中餐"<< "粒粒皆辛苦";ui->listWidget->addItems(list);


TreeWidget树控件

1.设置头 2.创建根节点 3.添加根节点到树控件上 4.添加子节点

//设置水平方向的头ui->treeWidget->setHeaderLabels(QStringList()<< "英雄"<< "英雄介绍");//QStringList()里面QString对象,里面重载了<<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);//追加子节点QStringList heroL1;heroL1 << "刚被猪" << "前排坦克,能在吸收伤害的同时造成可观的范围输出";QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1);liItem->addChild(l1);


TableWidget 表格控件

设置列数=>设置水平表头=>设置行数=>设置正文

//设置列数ui->tableWidget->setColumnCount(3);//设置水平方向表头ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<< "性别"<< "年龄");//设置行数ui->tableWidget->setRowCount(5);//设置正文//ui->tableWidget->setItem(0,0, new QTableWidgetItem("亚瑟")); //行数 列数 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 : QString::numberui->tableWidget->setItem(i,col++, new QTableWidgetItem( QString::number(i+18)));}


其它控件介绍 下拉框

ui->comboBox->addItem("奔驰"); //0ui->comboBox->addItem("宝马");//1ui->comboBox->addItem("拖拉机");//2//点击按钮 选中拖拉机选项connect(ui->btn_select,&QPushButton::clicked,[=](){//ui->comboBox->setCurrentIndex(2); //拖拉机是2号ui->comboBox->setCurrentText("拖拉机");});


QLabel显示图片和动图

//利用QLabel显示图片ui->image_lable->setPixmap(QPixmap(":/file/image/cat.png"));//利用QLabel显示 gif动态图片QMovie * movie = new QMovie(":/file/gif/1.gif");ui->move_lable->setMovie(movie);//播放动图movie->start();


自定义控件封装

目标:实现功能,改变数字,滑动条跟着移动 || 滑动条移动,数字变化

第一步:添加新文件 -Qt-设计师界面类 =>选择widget 会自动生成 (.h .cpp .ui)

第二步:在生成的ui文件当中设计 Q S p i n B o x QSpinBox QSpinBox Q S l i d e r QSlider QSlider两个控件

第三步:在mainWindow.ui文件当中,使用Widget当中使用自定义控件:拖拽一个Widget,点击提升为=>输入提升的类名称=>全局包含=>添加=>提升


smallwidget.h

提供两个函数:

//设置数字void setNum(int num);//获取数字int getNum();

smallwidget.cpp

实现上述的两个函数:

//设置数字void smallwidget::setNum(int num){ui->spinBox->setValue(num);}//获取数字int smallwidget::getNum(){return ui->spinBox->value();}

在构造函数当中:

//QSpinBox移动 QSlider跟着移动void(QSpinBox:: * spSignal )(int) = &QSpinBox::valueChanged;connect(ui->spinBox , spSignal , ui->horizontalSlider , &QSlider::setValue);//QSlider滑动 QSpinBox数字跟着改变connect(ui->horizontalSlider, &QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);

widget.cpp的构造函数当中:

//点击获取 获取当控件当前的值connect(ui->btn_get,&QPushButton::clicked , [=](){qDebug() << ui->widget->getNum(); });//设置到一半connect(ui->btn_set,&QPushButton::clicked,[=](){ui->widget->setNum(50);});
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接