直接上代码
QTreeWidgetItem *pCurrentItem = ui.treeWidget->currentItem();
QString strText = pCurrentItem->text(0);
text(0) 中的 0 表示 columns 第一栏(通俗点就是第一列吧)
直接上代码QTreeWidgetItem *pCurrentItem = ui.treeWidget->currentItem();QString strText = pCurrentItem->text(0);text(0) 中的 0 表示 columns 第一栏(通俗点就是第一列吧)...
公司项目用到的,qt使用了QTreeWidget,里边涉及了增加、删除、拖拽和点击获取item text和checkbox bool值,上代码
TabTreeWidget.h
#ifndef TABTREEWIDGET_H
#define TABTREEWIDGET_H
#include<QTreeWidgetItem>
#include<QTreeWidget>
#i...
个人感觉QTreeView有些地方的使用没有MFC的CListCtrl方便(比如在不响应单击信号的情况下,获取选中行的数据(单行和多行)),也许因为我是新手吧。
一、获取单行选中的数据
QModelIndex selected = ui.treeView->currentIndex(); //选中的行
selected = selected.sibling(selected.row(),...
通过点击树形控件的项,可以得到被点击的树形控件的文本,使用树形控件的信号itemPressed与所在类的槽函数绑定,通过传递参数QTreeWidgetItem和列column,在绑定的槽函数中得到被点击的项的文本。下面上代码:
connect(ui->treeWidget,&QTreeWidget::itemPressed,this,&configBtnNameDialog::onSelectedItem);
//所绑定的槽函数
void configBtnNameDialog:
这是一个简单的小demo,我在看一本圣经,然后就对比着写下了这个树控件的使用,例如,一个类中有多个复选项,当选择它们的父类,子选项会全选择,如果取消一个子选项,则父选项则只会变暗,要是一个子选择都没选中,那则不会有改变。
相信这个demo的功能就是你要找的那个,希望能帮上忙。
专栏:使用PyQt开发图形界面Python应用
老猿Python博客地址
QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下:
QTreeWidgetItem itemAt( QPoint p)
QTreeWidgetItem itemAt(int x, int y)
通过该方法可以获取到视口上对应坐标所在的项,如果对应坐标位置无项则返回None。
以下代码输出树型部件视口范围内的所有项首列文本:
def showAllVisibleItem(self):
height = self.t
最近遇到了这个问题,用了挺长时间解决这个问题的。
主要是用将控件在
qtree
widget的
item中显示,使用。比如一个button,一个slider或者一个combobox等等。
但是对于有的控件,
选中某个
item后,如果直接点击另一个
item上的控件,利用
qtree
widget的current
item获取到的还是光亮状态的
item,此时如果
获取鼠标点击的
item的信息,会失败。
我使用了Files,File,Stations,Station,channel这五个不同的类来组织文件、台站、和通道,并将它们显示到QTreewidget上面,那么,如何通过QTreewidget.selectedItem()函数来获取当前选择的item所对应的类呢?
在这里我继承了QTreewidgetItem这一个类,并添加了self.parent属性,在构造这个item时,传入构造它的父对
专栏:使用Py
Qt开发图形界面Python应用
老猿Python博客地址
在Model/View的便利类
QTree
Widget、QList
WidgetItem中的项类型分别是
QTree
WidgetItem、QList
WidgetItem,在构造这2个类型项的时候,可以指定一个type参数,其类型分别是枚举类型
QTree
WidgetItem.
ItemType、QList
WidgetItem.
ItemType,实际上这两个枚举类的取值、用途及含义相同,只是枚举常量值的名字不同。
在
QTree
WidgetItem、QList
WidgetItem这2个类中,type参数用于指
QTreeView一般和相应的QXXModel合用,形成Model/View结构.
QTreeView是一个视图类,你需要手动给其指定模型类,才能够显示数据。QTreeWidget继承自QTreeView,是封闭了默认Model的QTreeView,应用了模型/视图的编程方法,将数据和显示分开了。
就灵活性来讲,QTreeView要灵活些。
QTreewidg.
QTreeWidgetItem是Qt中用于在QTreeWidget中显示项目的类。要获取QTreeWidgetItem的标签文本,可以使用QTreeWidgetItem的text()函数。
例如,假设你有一个QTreeWidget,其中包含一个QTreeWidgetItem,你可以这样获取它的标签文本:
QTreeWidget *treeWidget = new QTreeWidget();
QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget);
item->setText(0, "Item Label");
QString label = item->text(0); // label = "Item Label"
这里假设QTreeWidgetItem的标签在第0列中。如果你想获取不同列的标签文本,可以将第0个参数替换为想要获取的列的编号。
希望这对你有帮助!