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界面看不到而已
相关推荐
恋恋西风2 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_3 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_3 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu4 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦4 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊4 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408585 小时前
Mybatis-flex小记
java·开发语言·mybatis
青梅味猪大肠6 小时前
【深入浅出C++】为什么虚表指针可以解决菱形继承
开发语言·c++
潘潘的嵌入式日记6 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机