qtreewidget基本使用_qtreewidget列宽自适应

qtreewidget基本使用_qtreewidget列宽自适应1、voidQTreeWidget::setHeaderLabels(constQStringList&labels)设置表头,QStringList有几项,表头就有多少列2、voidQHeaderView::setSortIndicatorShown(boolshow)Thispropertyholdswhetherthesortindicatoris

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

Jetbrains全系列IDE稳定放心使用

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基本使用_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();
}
treeWidget->setItemWidget(child,1,new QSpinBox)

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

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

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

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


相关推荐

  • Windows注入与拦截(1) — DLL注入的基本原理「建议收藏」

    Windows注入与拦截(1) — DLL注入的基本原理「建议收藏」一.DLL注入技术的用途从前面的《Windows内存体系》系列文章中我们可以知道,在Windows系统中,每个进程都有自己私有的地址空间。当我们用指针来引用内存的时候,指针的值表示的是进程自己的地址空间的一个虚拟的内存地址。进程不能通过指针来引用其他进程地址空间的内存。因此,如果一个进程有缺陷会导致其引用和覆盖随机地址处的内存,那么这个缺陷的影响就会不会扩散到其他的进程。独立的地址空间有…

    2022年5月13日
    159
  • CGLIB介绍与原理「建议收藏」

    CGLIB介绍与原理「建议收藏」CGLIB介绍与原理(部分节选自网络)一、什么是CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。二、CGLIB原理CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final

    2022年6月4日
    48
  • Linux中top命令参数详解

    Linux中top命令参数详解top命令用法top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。top的使用方式top[-dnumber]|top[-bnp]参数解释:-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。-b:以批次的方式执行top。-n:与-b配合使用,表示需要进行几次top命令的输出结果。-…

    2022年5月28日
    32
  • IDEA注释详解_idea自定义注释模板

    IDEA注释详解_idea自定义注释模板目录目录生成类注释生成类注解模板生成方法注释生成方法注解模板最近从eclipse转idea了,第一步当然是配置快捷键,模板等。但是!发生了一件贼蛋疼的事情,竟然一直找不到正确添加方法注释的方法!最后自己摸索到了,在此详细记录,供大家参考。测试版本为ideaformac,可能快捷键不同,但是设置等肯定是相同的12生成类注释打开PreferencesEditor-&gt;Fileand…

    2022年9月30日
    3
  • linux 下 用phpmailer类smtp发送邮件始终不成功,提示:ERROR: Failed to co

    linux 下 用phpmailer类smtp发送邮件始终不成功,提示:ERROR: Failed to co

    2021年9月25日
    49
  • SPI的原理_托里拆利实验原理讲解

    SPI的原理_托里拆利实验原理讲解什么是SPISPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字…

    2022年10月15日
    5

发表回复

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

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