qtreewidget设置正则表达式

qtreewidget设置正则表达式,第1张

QtreeWidget的样式设置:

QtreeWidegt的样式中包含item,branch,勾选框和整个页面的样式设置

在Qt的帮助文档中可以查找SetStyleSheet的范例进行参数

在使用QTreeWidget时,默认是带有虚线的: qtreewidget节点显示 现在需要将这些节点之间的虚线去掉,可采用两种方式,一种是在代码中添加控件的样式,另外一种是在qtcreator中直接设置样式。 第一种:qtcreator中设置样式: 右键该控件,选择change styleSheet…菜单,然后进入到样式编辑界面,添加如下代码: QTreeView::branch {image:none;} 样式界面 点击OK之后,就可以看到效果,此前的虚线已经没有了。

1基本用法:

初始化用基本用到的:

//this->setMouseTracking(true);

this->setRootIsDecorated(false);

this->setSelectionMode(QAbstractItemView::ExtendedSelection);

this->setStyleSheet("QTreeWidget::item{height:25px}"); //设置行宽, 我也找不到提供的接口 setStyleSheet很强大建议看

this->setColumnWidth(0, 100); //设置列宽

this->setColumnCount(2);

QStringList lists;

lists << "NO" << "name";

this->setHeaderLabels(lists);

for (int i=0;i<10;i++)

{

QStringList contentList;

contentList << QString("00%1")arg(i) << "boy";

QTreeWidgetItem pNewItem = new QTreeWidgetItem(this, contentList); //增加

pNewItem->setBackgroundColor(0, QColor(150,0,0));

pNewItem->setFont(0, QFont());

}

//pNewItemRoot->setExpanded(true); //展开子项

增加删除顶层用:

addTopLevelItem(QTreeWidgetItem);

takeTopLeveltem(int);

topLevelItem(int); //返回

topLevelItemCount();

增加删除子层:

addChild(QTreeWidgetItem);

addChildren(const QList<QTreeWidgetItem>&);

takeChild(int);

takeChildren();

child(int) //返回

childCount();

2进价:

//加checkbox, icon

pNewItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);

pNewItem->setCheckState(0, Qt::Unchecked);

//pNewItem->setIcon(int , QIcon);

//向ITEM里放一些QT的控件,如QSpinBox,QComboBox,QPushButton等

this->setItemWidget(pNewItem, 0, new QSpinBox());

//获取某项的QRect, 有时候会很有用,如显缩略图:

QRect rect = this->visualItemRect(QTreeWidgetItem);

//右键菜单重写

contextMenuEvent( QContextMenuEvent event );或者使用信号itemPressed(QTreeWidgetItem, int);

//对头的 *** 作,可以用QLabel或者QTreeWidgetItem对头进行初始化,

//隐藏头

header()->hide();

m_pHeaderView->setClickable(true); //能够发射sectionClicked(int)信号,可做菜单,显示隐藏列:setSectionHidden(int, bool);isSectionHidden(int);

m_pHeaderView->setMovable(true);

m_pHeaderView->setResizeMode(0, QHeaderView::Fixed); //固定列宽

m_pHeaderView->setDefaultSectionSize(100); //默认

//排序

treeWidget->setSortingEnabled(true);

treeWidget->header()->setSortIndicatorShown(true);

treeWidget->header()->setSortIndicator(0, Qt::AscendingOrder);

//要自定义就用信号

connect( treeWidget->header(), SIGNAL( sectionClicked(int) ), this, SLOT( sectionClickedSlot(int) ) );

在小项目里,使用qtreewidget完全足够,

如果想更多灵活用法请使用QTreeView等 MODEL/VIEW控件

在隐藏点。

我们知道在数据结构上来说,任何树都是有根节点的,但我们在QTreeWidget对象中并没有看到界面上展示一个根节点,在QTreeWidget对象和数据项构建时也没有指定这样的根节点,但实际上这个根节点还是存在的,只是不可见,且该节点是树型部件创建之后就自动创建,无论是否存在顶层项。

主要是可以用于递归访问树的所有节点,递归不是从topLevelItem开始,而是从根节点开始,所有节点的类型都是QTreeWidgetItem,可以用QTreeWidgetItem的child方法逐层递归访问。

ui->treeWidget->setColumnCount(1); //设置列数ui->treeWidget->setHeaderLabel(tr("图像选择")); //设置头的标题QTreeWidgetItem imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像1")));imageItem1->setIcon(0,QIcon("xxxpng"));QTreeWidgetItem imageItem1_1 = new QTreeWidgetItem(imageItem1,QStringList(QString("Band1"))); //子节点1imageItem1->addChild(imageItem1_1); //添加子节点QTreeWidgetItem imageItem2 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像2")));QTreeWidgetItem imageItem2_1 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band1"))); //子节点1QTreeWidgetItem imageItem2_2 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band2"))); //子节点2imageItem2->addChild(imageItem2_1); //添加子节点imageItem2->addChild(imageItem2_2);ui->treeWidget->expandAll(); //结点全部

QTreeWidgetItem在被编辑时,在编辑器的文本框失去焦点时,才能看到更新的内容,没有实时更新的反馈。但是可以通过实现itemChanged()函数来自定义编辑后的反馈,从而达到实时更新的反馈效果。

修改tree节点的图标的步骤如下:

首先,在src下建立一个assets文件夹,放几张;

其次,编写代码如下:

<xml version="10" encoding="utf-8">

<mx:Application xmlns:mx=">

以上就是关于qtreewidget设置正则表达式全部的内容,包括:qtreewidget设置正则表达式、用什么方法取得 QTreeWidget 中焦点所在行、treewidget的根节点初始位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9518939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存