QTreeWidget简单用法「建议收藏」

QTreeWidget简单用法「建议收藏」1、voidQTreeWidget::setHeaderLabels(constQStringList&labels)设置表头,QStringList有几项,表头就有多少列2、voidQHeaderView::setSortIndicatorShown(boolshow)Thispropertyholdswhetherthesortindicatoris

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、void QTreeWidget::setHeaderLabels(const QStringList & labels)

设置表头,QStringList有几项,表头就有多少列

2、void QHeaderView::setSortIndicatorShown(bool show)

This property holds whether the sort indicator is shown.
By default, this property is false.(这里有误,经测试默认应该是true)

译:设置表头是否显示排序指示符,SortIndicator为水平标题栏文字旁边的小三角符号

如果要显示排序指示符,那么这个函数没必要调用

3、void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)

Sets the sort indicator for the section specified by the given logicalIndex in the direction specified by order, and removes the sort indicator from any other section that was showing it.

译:为指定的 logicalIndex字段设置排序指示符(如果是升序,就是朝上的小三角;如果是降序,就是朝下的小三角)

同时在其他的字段位置将不显示排序指示符(其实任何情况下只能在一个字段位置处显示排序指示符)。

这只是一个初始化的设置,后期用户的操作可以改变这种设置。

4、void QTreeWidget::addTopLevelItem(QTreeWidgetItem * item)

为QTreeWdiget增加顶级项目

5、void QTreeWidgetItem::addChild(QTreeWidgetItem * child)

为顶级项目增加子项目

6、void QTreeWidget::setItemWidget(QTreeWidgetItem * item, int column, QWidget * widget)

将widget控件显示到item的column列里

下面给出一些简单实例代码:

QTreeWidget简单用法「建议收藏」

#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QStringList>
#include <QSpinBox>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    QTreeWidget* treeWidget = new QTreeWidget(this);
    treeWidget->setWindowTitle("QTreeWidget");
    //设定头项名称
    treeWidget->setHeaderLabels(QStringList()<<"Key"<<"Value");
    
    treeWidget->setSortingEnabled(true);
    //treeWidget->header()->setSortIndicatorShown(true);//设置排序指示符是否显示
    treeWidget->header()->setSortIndicator(0,Qt::AscendingOrder);//为第0列设置排序指示符为升序

    //设定各个项
    QTreeWidgetItem* A = new QTreeWidgetItem(QStringList()<<"A");
    A->setIcon(0, QIcon(":/images/a.png"));//资源文件前缀为/
    A->setCheckState(0, Qt::Checked);

    QTreeWidgetItem* B = new QTreeWidgetItem(QStringList()<<"B");
    B->setIcon(0, QIcon(":/images/b.png"));
    B->setCheckState(0, Qt::Checked);

    QTreeWidgetItem* C = new QTreeWidgetItem(QStringList()<<"C");
    C->setIcon(0, QIcon(":/images/c.png"));
    C->setCheckState(0, Qt::Checked);

    treeWidget->addTopLevelItem(A);//添加顶级项A
    treeWidget->addTopLevelItem(B);//添加顶级项B
    treeWidget->addTopLevelItem(C);//添加顶级项C

    for(int i=0; i<3; ++i)//给A添加子项目
    {
        QStringList columItemList;
        QTreeWidgetItem *child;
        QString key, value;
        key += "a" + QString::number(i);
        value += QString::number(i);
        columItemList<<key<<value;
        child = new QTreeWidgetItem(columItemList);
        A->addChild(child);
        treeWidget->setItemWidget(child,1,new QSpinBox);//将QSpinBox显示到child项的第一列里
    }

    treeWidget->show();
}

Jetbrains全家桶1年46,售后保障稳定

treeWidget->setItemWidget(child,1,new QSpinBox)

这句代码调用之后会遮住value列的值,可以注释掉

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213577.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 企业微信机器人定时发送信息

    企业微信机器人定时发送信息企业微信可以配置机器人,提升办公效率,还能实现一键群发和定时发送等功能。

    2022年6月16日
    41
  • 精准绝杀一波(皮筋穿透魔术教学)

    自从去年8月份币安推出BNB之后,各家交易所也纷纷向交易者售卖自家生产的平台币,并允诺出让部分红利给到买家。而其中,Fcoin以其创新的“交易挖矿”机制,圈得韭菜无数。领跑数字货币市场的平台币进入2017年熊市以来,数字货币市场上的领跑者无疑是各大交易所推出的平台币。自从去年8月份币安推出BNB之后,各家交易所也纷纷向交易者售卖自家生产的平台币,并允诺出让部分红利给到买家。常见的平台币让利策略可以…

    2022年4月17日
    376
  • oracle优化器统计信息相关

    优化器使用统计信息来生成每个sql语句最优的执行计划。准确的统计信息对于数据库的效率至关重要。dba和程序开发人员都应该了解一些统计信息相关知识,这可以使你更好的理解为什么会生成一个你看到的执行计划,知其然且知其所以然。

    2022年4月8日
    34
  • 操作必须使用一个可更新的查询

    操作必须使用一个可更新的查询ADO由于以下的几个原因而不能够写数据库造成的:1、最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限:在管理器中调整数据库文件的属性,让匿名用户有正确的权限。当使用A

    2022年7月1日
    28
  • C语言输出有颜色的字体

    C语言输出有颜色的字体先看下面的一段代码:#include<stdio.h>intmain(intargc,char**argv){printf(“\033[44;37;5mhelloworld\033[0m\n”);return0;}编译后运行上述代码,结果如下:可见,此时输出的字体和背景已经有了颜色。由上可知,在输出时候加上“\033[…

    2022年7月24日
    24
  • SQL SERVER的QUOTENAME函数

    SQL SERVER的QUOTENAME函数quotename使函数中的输入成为一个有效的标识符selectQUOTENAME(‘dddd’) 返回[dddd]selectQUOTENAME(‘dddd’,'”‘)返回”dddd”首先,sqlserver里的标识符有一定的规则,比如 你 createtableabc123(…) 那么中间含有空格,它不是符合规则的。 

    2022年7月25日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号