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界面看不到而已
相关推荐
西部风情3 分钟前
聊聊连续、递增
java·开发语言
蒙娜丽宁6 分钟前
Rust 并发编程进阶:线程模型、通道通信与异步任务对比分析
开发语言·网络·rust
又是忙碌的一天37 分钟前
java字符串
java·开发语言
Hi2024021738 分钟前
Qt+Qml客户端和Python服务端的网络通信原型
开发语言·python·qt·ui·网络通信·qml
chxii40 分钟前
ISO 8601日期时间标准及其在JavaScript、SQLite与MySQL中的应用解析
开发语言·javascript·数据库
Teable任意门互动1 小时前
主流多维表格产品深度解析:飞书、Teable、简道云、明道云、WPS
开发语言·网络·开源·钉钉·飞书·开源软件·wps
程序员大雄学编程1 小时前
「用Python来学微积分」16. 导数问题举例
开发语言·python·数学·微积分
Dreams_l2 小时前
redis中的数据类型
java·开发语言
梵得儿SHI2 小时前
Java IO 流详解:字符流(Reader/Writer)与字符编码那些事
java·开发语言·字符编码·工作原理·字符流·处理文本
太过平凡的小蚂蚁2 小时前
Kotlin 协程中常见的异步返回与控制方式(速览)
开发语言·前端·kotlin