QT UI控件汇总介绍

按钮

ToolButton

和pushbutton没什么区别,可以用来设置图标

设置展示策略

RadioButton

一般用Container可以将其框起来设置互斥域,推荐选用GroupBox

使用方法
qDebug()<<ui->radioButton_3->isChecked();

CheckBox

可以勾选三态

stateChanged()槽函数,arg1为传入状态:0未选1半选2对勾

cpp 复制代码
void MainWindow::on_checkBox_stateChanged(int arg1)
{
    qDebug()<<arg1;
}

DialogButtonBox

可以勾选要用的按钮


ItemWidgets

ListWidget

listWidget->addItem() 可以添加QString或QListWidgetItem格式

cpp 复制代码
//QListWidgetItem格式演示
QListWidgetItem *item = new QListWidgetItem("窗前明月光");
item->setTextAlignment(Qt::AlignLeft);//查阅帮助文档
ui->listWidget->addItem(item);

listWidget->addItems(QStringList list)

cpp 复制代码
//这样就没有居中效果了
    QStringList list;
    list<<"疑是地上霜"<<"举头望明月"<<"低头思故乡";
    ui->listWidget->addItems(list);

TreeWidget

cpp 复制代码
//TreeWidget
    //1、设置标题
    ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"简介");
    //2 添加根节点
    QTreeWidgetItem *strength_item = new QTreeWidgetItem(QStringList()<<"力量");
    QTreeWidgetItem *agility_item = new QTreeWidgetItem(QStringList()<<"敏捷");
    QTreeWidgetItem *iq_item = new QTreeWidgetItem(QStringList()<<"智力");
    ui->treeWidget->addTopLevelItem(strength_item);
    ui->treeWidget->addTopLevelItem(agility_item);
    ui->treeWidget->addTopLevelItem(iq_item);
    //3 添加相应子节点
    strength_item->addChild(new QTreeWidgetItem(QStringList()<<"刚背猪1"<<"简介1"));
    strength_item->addChild(new QTreeWidgetItem(QStringList()<<"刚背猪2"<<"简介2"));
    strength_item->addChild(new QTreeWidgetItem(QStringList()<<"刚背猪3"<<"简介3"));

Container

ScrollArea

ToolBox

修改页标题

TabWidget

和上面同理

StackedWidget

切换页面要自己设置

cpp 复制代码
void MainWindow::on_pushButton_22_clicked()
{
    int index = (ui->stackedWidget->currentIndex()+1)%ui->stackedWidget->count();
    ui->stackedWidget->setCurrentIndex(index);
    qDebug()<<index;
}

Frame

没什么用 特点是可以设置展示样式

MDI Area

DockWidget

停靠工具栏用

InputWidget

ComboBox

双击可以编辑选项

使用:getcurrent相关槽函数即可

DisplayWidget

Lable的动图显示

自定义控件

  1. 新建一个设计师类,然后在对应的ui设计好控件,添加好必要的信号和槽函数,添加该控件必要的成员方法(如get/set)
  2. 在主窗口引入其父控件,右键提升为:填写自己写的类名称
  3. 然后运行后对应窗口,其父控件就能显示我们写的那个类,但是ui界面看不到而已
相关推荐
LIN-JUN-WEI13 分钟前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
望获linux1 小时前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
雨落倾城夏未凉1 小时前
7.QObject定时器和QTimer定时器的区别
后端·qt
笑鸿的学习笔记1 小时前
qt-C++语法笔记之Stretch与Spacer的关系分析
c++·笔记·qt
留不住丨晚霞2 小时前
说说SpringBoot常用的注解?
java·开发语言
hardStudy_h2 小时前
C++——内联函数与Lambda表达式
开发语言·jvm·c++
艾莉丝努力练剑2 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
witton4 小时前
Go语言网络游戏服务器模块化编程
服务器·开发语言·游戏·golang·origin·模块化·耦合
枯萎穿心攻击4 小时前
ECS由浅入深第三节:进阶?System 的行为与复杂交互模式
开发语言·unity·c#·游戏引擎
Jerry Lau4 小时前
go go go 出发咯 - go web开发入门系列(一) helloworld
开发语言·前端·golang