目录
QT里的基本控件->上_small建攻的博客-CSDN博客
一、显示控件(DisplayWidgets)
1、Lable
1.1、Lable的作用
lable的作用用来显示一些文字或者用来贴图
1.2、lable通过setText设置文字内容
ui->label->setText("这里是设置的文本的内容");
1.3、lable通过setPixmap设置图片
QPixmap mImage=QPixmap(":/new/prefix1/7FL7%M{E(V%PYS03NMDWK4C.png");//这个是图片从资源中设置的路径
ui->label->setScaledContents(true);//设置可以缩放
ui->label->setPixmap(mImage);
1.4、lable通过setMovie设置gif图片
QMovie *m = new QMovie(":/new/prefix1/QQ图片20220113180431.gif");
ui->label->setMovie(m);
m->start();//这个一定要有不然gif是不会显示的
/*QMovie中有个stop()函数可以让gif暂停具体可查帮助*/
效果展示:
2、textbrowser
2.1、textbrowser介绍
textbrowser提供了一个带有超文本导航的富文本浏览器,可加图片,也可以编辑文字,用来显示内容
2.2、textbrowser设置文字
ui->textbrowser->setText("这里是设置的文本的内容");
ui->textbrowser->append("这里是换行添加");
2.3、 textbrowser显示图片
textbrowser里面添加图片会用HTML很麻烦的添加方式一般还是文字用的多
3、LCD number
3.1、LCD number介绍
它是显示液晶字体的数字,但是设置大小,将其在窗口中
LCD number一般的使用
ui->lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));
可以是整数,小数,字符串
4、progressBar
进度条的显示,关联滚动条,根据progressBar来进行移动的
常用的几个:
setMaximum(int)设置最大值
setValue(int)设置值
setMinimum(int)设置最小值
二、容器控件
1、QGroupBox
QGroupBox为构建分组提供了支持,通常包含一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。
2、scrollArea
QScrollArea 提供了一个滚动视图到另外一个部件,滚动区域用于显示一个画面中的子部件的内容。如果部件超过画面的大小,视图可以提供滚动条,这样就都可以看到部件的整个区域 。
开始是不会显示出来得要自己设置这两个垂直滚动条和水平滚动条
代码使用:
QLabel *pImageLable = new QLabel(this);
pImageLable->setPixmap(QPixmap("图片路径"));
ui->scrollArea->setWidget(pImageLable);
3、toolBox
QToolBox类提供了一个选项卡式的条目。QToolBox可以在一个tab列上显示多个Item,并且当前的 item显示在当前的tab下面。每个tab都在tab列中有一个索引位置。tab的item是一个QWidget,类似QQ好友栏得显示
代码插入:
QPushButton*pushButton=new QPushButton(this);
ui->toolBox->insertItem(3,pushButton,"按钮内容");
在第三个位子插入一个pushbutton
4、tabWidget
QTabWidget类提供了一系列的Tab选项卡的切换,每个选项卡下有自己的控件;原理和toolBox一样, 类似任务管理器
5、stackedWidget
QStackedWidget理解为层叠窗口(堆栈窗口),提供了多页面切换的布局,每个选项卡下有自己的控 件, StackedWidget类提供了多页面切换的布局,一次只能看到一个界面。
在写代码的时候点下面剪头指向处也能切换,控件还是直接拖动上面去就好
ui->stackedWidget->setCurrentIndex(0); //从0开始数,要第几页就是几
6、qFrame
QFrame类是带有边框的部件的基类。它的子类有我们最为常用的标签部件QLabel,另外还有 QLCDNumber、QSplitter、QStackedWidget、QToolBox和QAbstractScrollArea类。带边框部件最主 要的特点就是可以有一个明显的边界框架。Frame类的主要功能也就是用来实现不同的边框效果,这主 要是由边框形状(Shape)和边框阴影(Shadow)组合来形成的。
7、qWidget
QWidget类是所有用户界面对象的基类被称为基础窗口部件它可以作为其他部件 的容器QWidget继承自 QObject类和QPaintDevice类其中QObject类是所有支持Qt 对象模型(Qt Object Model)的Qt对象的 的基类,QPaintDevice类是所有可以绘制的对象的基类。
8、mdiArea
QMdiArea一般使用于主窗口中,用于容纳多个子窗口
9、dockwidget
QDockWidget类类似理解为悬浮(停靠)窗口,提供了一个特殊的窗口部件,它可以是被锁在 QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。只能使用minwindow类才有,详细示例查看官方示例
三、列表控件(Item Widget)
1、listWIdget
QListWidget类列表框控件用来加载并显示多个列表项。QListWidgetItem类就是列表项类
常用的槽与信号:
additem添加一行尾部添加
insertItem在某个位子添加一行
removeItemWidget移除行
信号:
currentRowChanged(int currentRow)选中的行有改变
itemSelectionChanged()选中的项有改变
2、treewidget
树,直接双击就能添加,要加图标就在属性里面
得到选中的内容
消息:
itemClicked(QTreeWidgetItem *item, int column)
实现:
qDebug()<<item->text(column);
3、tableWidget
类似电子表格
常用设置
//表头下面的那根线
ui->tableWidget_stuInfo->horizontalHeader()->setStyleSheet("border-bottom-width:
0.5px;border-style: outset;border-color: rgb(229,229,229);");
//自动适应列宽
ui->tableWidget_stuInfo->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//隐藏默认行头
ui->tableWidget_stuInfo->verticalHeader()->setHidden(true);
//整个表不能被编辑
ui->tableWidget_stuInfo->setEditTriggers(QAbstractItemView::NoEditTriggers);
//表头到第0行的线
ui->tableWidget_stuInfo->horizontalHeader()->setStyleSheet("border-bottomwidth: 0.5px;border-style: outset;border-color: rgb(229,229,229);");
遍历打印
//遍历打印
for(int i=0;i<ui->tableWidget->rowCount()+1;i++)//行
{
for(int j=0;j<ui->tableWidget->columnCount();j++)//列
{
if(ui->tableWidget->item(i,j)!=nullptr)
{
qDebug()<<ui->tableWidget->item(i,j)->text();
}
}
}
遍历向表格设置内容
for(int i = 0; i < ui->tableWidget->rowCount()+1;i++)//行
{
for(int j=0;j < ui->tableWidget->columnCount();j++)//列
{
ui->vip_custmer ->setItem(i, j,new QTableWidgetItem("里面设置所写的内容"));
}
}