700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > QT学习笔记(四)——常用ui控件以及自定义ui控件的使用

QT学习笔记(四)——常用ui控件以及自定义ui控件的使用

时间:2019-09-10 12:40:27

相关推荐

QT学习笔记(四)——常用ui控件以及自定义ui控件的使用

QT学习笔记(四)——常用ui控件以及自定义ui控件的使用

文章目录

QT学习笔记(四)——常用ui控件以及自定义ui控件的使用一、按钮组二、listWidget、treeWidget以及tableWidget二、容器三、显示控件四、自定义控件

一、按钮组

radio button:单选按钮,各个选项之间是互斥的(选了一个就不能选另一个)。多组radio button之间存在互斥域的问题,如果想将某些单选按钮隔离开,就用容器将他们隔离,常用Group Box

check box:多选按钮,可以同时选中多个按钮。有三态 (默认只有两态:选中2与未选中0,可以通过勾选按钮属性中的tristate,增加半选中状态1) ,每次点击按钮的时候通过stateChange信号传状态。

二、listWidget、treeWidget以及tableWidget

listWidget

类似于列表的形式,可以在ui界面双击添加元素:

也可以通过代码添加元素:

ui->listWidget->addItem("2");

treeWidget

类似于树的形式,内容分级,在根结点之下加入其他内容。

可以在ui界面双击添加元素:

也可以通过代码添加元素:

QTreeWidgetItem *topItem = new QTreeWidgetItem(QStringList()<<"2.1");ui->treeWidget->addTopLevelItem(topItem);QTreeWidgetItem *childItem = new QTreeWidgetItem(QStringList()<<"2.1.1");topItem->addChild(childItem);

tableWidgeet

类似于树的形式,可以指定行和列。

可以在ui界面双击添加元素:

也可以通过代码添加元素:

ui->tableWidget->setRowCount(2); //2行ui->tableWidget->setColumnCount(3); //3列// 设置标题ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"0"<<"1"<<"2");//水平ui->tableWidget->setVerticalHeaderLabels(QStringList()<<"0"<<"1"); //垂直// 添加数据QTableWidgetItem *item = new QTableWidgetItem("(1,1)");ui->tableWidget->setItem(1,1,item);

二、容器

注:stacked Widget页面切换需要我们自己去实现,一般使用按钮点击的时候切换,在槽函数中使用setCurrentIndex方式切换到第几页,序号从0开始

三、显示控件

其中,Label最为常用,既可以显示文字也可以显示静态图、动态图。

(1)显示静态图,需要设置pixmap属性:

从资源文件中导入图片。(2)显示动态图,可以在cpp文件中进行设置:

//设置label播放 gifQMovie *movie = new QMovie(":/...",QByteArray(),this);//指定动态图片在资源文件的路径ui->label->setMovie(movie);movie->start(); //播放,默认会循环播放

四、自定义控件

将一些基础的控件拼凑在一起,实现内部关联逻辑,并且对外部提供操作的接口。实现步骤为:

-(1)创建控件类:创建一个qt 设计师界面类 (带UI文件)

创建时要注意选择其继承的父类,一般选择Widget。创建完成后,在ui文件中将各个控件组合在一起(放置在同一个父窗口中)。

(2)在主窗口中使用自定义控件类

在ui文件上先拖一个自定义控件类的父类,然后右键再将其提升为其子类(操作结束后在ui文件中并不能直接看到自定义控件,运行可见):

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。